From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14995 invoked by alias); 12 Nov 2004 00:25:27 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 14906 invoked from network); 12 Nov 2004 00:25:19 -0000 Received: from unknown (HELO dair.pair.com) (209.68.1.49) by sourceware.org with SMTP; 12 Nov 2004 00:25:19 -0000 Received: (qmail 80904 invoked by uid 20157); 12 Nov 2004 00:25:19 -0000 Date: Fri, 12 Nov 2004 00:25:00 -0000 From: Hans-Peter Nilsson X-X-Sender: hp@dair.pair.com To: Daniel Jacobowitz cc: Nick Clifton , binutils@sources.redhat.com, gdb-patches@sources.redhat.com, newlib@sources.redhat.com, dejagnu@gnu.org Subject: Re: Dejagnu: use -isystem to include system header files. In-Reply-To: <20041111142237.GA25841@nevyn.them.org> Message-ID: References: <20041111142237.GA25841@nevyn.them.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2004-11/txt/msg00198.txt.bz2 Yay cross-posting! I helped by adding a list! On Thu, 11 Nov 2004, Daniel Jacobowitz wrote: > On Thu, Nov 11, 2004 at 11:58:15AM +0000, Nick Clifton wrote: > > Hi Guys, > > > > I am going to check in the attached patch which imports a fix from > > the mainline dejagnu sources. This fix is to use the -isystem > > switch to include system header files rather than -I. This fixes > > several unexpected failures in the GCC and G++ testsuites where the > > newlib system header file is included in strict ANSI > > mode, and the compiler barfs on the #include_next directive. > > This patch will break in-tree testing for yet other targets. But presumably only for old broken systems: no non-obsolete system should need to fake an extern "C" as is done when *not* defining NO_IMPLICIT_EXTERN_C; they should all be C++-aware. > I believe > arm-elf was affected - anything which does not set > NO_IMPLICIT_EXTERN_C. Bug in the arm-elf port: it should define NO_IMPLICIT_EXTERN_C. Sounds like there's a bug in the -isystem interaction with NO_IMPLICIT_EXTERN_C too. (Like, always assume NO_IMPLICIT_EXTERN_C for all passed -isystem options aka. never fake 'extern "C"' for path-options given on the command line.) > I discussed this with H-P on the dejagnu list > but never figured out a solution, but... Wot, there was no closure? For the record, the original email: (the reply was in 2002-11). Our later conversation is at . I thought we had closure at or at least at but now that you bring it up, I just think it's more of a bug in the arm-elf port and non-NO_IMPLICIT_EXTERN_C targets should be xfailed for applicable tests. ;-) > > * lib/libgloss.exp (newlib_include_flags): Use -isystem, not -I. > > (libio_include_flags, g++_include_flags, libstdc++_include_flags, > > winsup_include_flags): Ditto. > > ... I strongly suspect that g++ and winsup should be left out. Mh, a bit spurious. Only actual C++ include directories could be badly affected by non-NO_IMPLICIT_EXTERN_C-ness. brgds, H-P