Dejagnu: use -isystem to include system header files.
Nick Clifton
nickc@redhat.com
Thu Nov 18 09:15:00 GMT 2004
Hi Richard,
> Nick Clifton wrote:
> 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.
>
> Unfortunately this patch causes regressions on the gcc builtins tests.
> These tests rely on detecting newlib by looking for the definition of
> _NEWLIB_VERSION being added by including limits.h; but the change in the
> search order means that we now pick up a dummy version of newlib.h from
> the gcc include directory.
>
> With your patch the search path has now become
>
> /work/rearnsha/gnu/egcs/gcc/include
> /work/rearnsha/gnu/egcs/arm-elf/./newlib/targ-include
> /home/rearnsha/gnusrc/egcs-cross/newlib/libc/include
>
> Whereas previously the gcc/include directory came later in the search.
Hmmm, maybe newlib could provide the "l" variants of the builtin
functions ? What are these functions anyway ? Or maybe
builtins-config.h could include say <stdio.h> rather than <limits.h> so
that it would pickup the newlib version and not the gcc version ?
Alternatively - can you think of another way of solving the problem that
my patch was originally fixing ? Namely that several GCC and G++ tests
fail because they include <limits.h> whilst in strict ANSI mode and this
fails because the newlib limits.h uses the GNU extension #include_next
directive. My first patch to solve this - by undefining __GNUC__ if
__STRICT_ANSI__ was defined was rejected on the gcc lists.
Cheers
Nick
More information about the Gdb-patches
mailing list