This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Dejagnu: use -isystem to include system header files.


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 <limits.h> 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:
<URL:http://lists.gnu.org/archive/html/bug-dejagnu/2002-10/msg00009.html>
(the reply was in 2002-11).  Our later conversation is at
<URL:http://lists.gnu.org/archive/html/dejagnu/2004-05/msg00003.html>.

I thought we had closure at
<URL:http://lists.gnu.org/archive/html/dejagnu/2004-05/msg00007.html>
or at least at
<URL:http://lists.gnu.org/archive/html/dejagnu/2004-05/msg00011.html>
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]