This is a sample of build command and its verbose output with GCC 4.0.0. There
is -I/home/4/wilx/include on the command line. Notice the ordering of include
paths int its output:

[EMAIL PROTECTED]:::~/tmp/gcc-head/objdir/gcc> gcc -v -c   -g -DENABLE_CHECKING
-DENABLE_ASSERT_CHECKING -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros
-Wold-style-definition -fno-common   -DHAVE_CONFIG_H -I/home/4/wilx/include  
-I. -I. -I../../srcdir/gcc -I../../srcdir/gcc/. -I../../srcdir/gcc/../include
-I../../srcdir/gcc/../libcpp/include  ../../srcdir/gcc/expr.c -o expr.o
Reading specs from /home/4/wilx/lib/gcc/i386-unknown-freebsd4.10/4.0.0/specs
Configured with: ../srcdir/configure --disable-nls
--enable-version-specific-runtime-libs --enable-dwarf2 --with-cpu=pentium3
--with-arch=pentium3 --with-system-zlib --disable-shared --prefix=/home/4/wilx
--enable-languages=c,c++,objc --disable-sjlj-exceptions
--enable-shared=libstdc++ --enable-shared=libobjc --with-gc=zone
Thread model: posix
gcc version 4.0.0 20041016 (experimental)
 /home/4/wilx/libexec/gcc/i386-unknown-freebsd4.10/4.0.0/cc1 -quiet -v
-I/home/4/wilx/include -I. -I. -I../../srcdir/gcc -I../../srcdir/gcc/.
-I../../srcdir/gcc/../include -I../../srcdir/gcc/../libcpp/include
-DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC -DHAVE_CONFIG_H
../../srcdir/gcc/expr.c -quiet -dumpbase expr.c -march=pentium3 -auxbase-strip
expr.o -g -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -version
-fno-common -o /var/tmp//ccbNklGP.s
ignoring nonexistent directory
"/home/4/wilx/lib/gcc/i386-unknown-freebsd4.10/4.0.0/../../../../i386-unknown-freebsd4.10/include"
ignoring duplicate directory "/home/4/wilx/include"
  as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "."
ignoring duplicate directory "../../srcdir/gcc/."
#include "..." search starts here:
#include <...> search starts here:
 .
 ../../srcdir/gcc
 ../../srcdir/gcc/../include
 ../../srcdir/gcc/../libcpp/include
 /usr/local/include
 /home/4/wilx/include
 /home/4/wilx/lib/gcc/i386-unknown-freebsd4.10/4.0.0/include
 /usr/include
End of search list.
GNU C version 4.0.0 20041016 (experimental) (i386-unknown-freebsd4.10)
        compiled by GNU C version 4.0.0 20041016 (experimental).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
 as -o expr.o /var/tmp//ccbNklGP.s

Now please observe GCC 2.8.1's behaviour. Notice the include paths ordering this
time too. Same environment just different bootstrap compiler.

[EMAIL PROTECTED]:::~/tmp/gcc-head/objdir/gcc> adagcc -v -c   -g -DENABLE_CHECKING
-DENABLE_ASSERT_CHECKING -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes  -fno-common -Wno-error  -DHAVE_CONFIG_H
-I/home/4/wilx/include   -I. -I. -I../../srcdir/gcc -I../../srcdir/gcc/.
-I../../srcdir/gcc/../include -I../../srcdir/gcc/../libcpp/include  c-parse.c -o
c-parse.o
Reading specs from /usr/local/lib/gcc-lib/i386-unknown-freebsd4.10/2.8.1/specs
gcc version 2.8.1
 /usr/local/lib/gcc-lib/i386-unknown-freebsd4.10/2.8.1/cpp -lang-c -v
-I/home/4/wilx/include -I. -I. -I../../srcdir/gcc -I../../srcdir/gcc/.
-I../../srcdir/gcc/../include -I../../srcdir/gcc/../libcpp/include -undef
-D__GNUC__=2 -D__GNUC_MINOR__=8 -Di386 -Dunix -D__ELF__ -D__FreeBSD__=4
-D__i386__ -D__unix__ -D__ELF__ -D__FreeBSD__=4 -D__i386 -D__unix
-Asystem(FreeBSD) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386) -g -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wno-error -Di386
-Asystem(unix) -Acpu(i386) -Amachine(i386) -D__i386__ -Asystem(unix) -Acpu(i386)
-Amachine(i386) -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING -DIN_GCC
-DHAVE_CONFIG_H c-parse.c /tmp/cczdxxvj.i
GNU CPP version 2.8.1 (i386 FreeBSD/ELF)
#include "..." search starts here:
#include <...> search starts here:
 /home/4/wilx/include
 .
 ../../srcdir/gcc
 ../../srcdir/gcc/../include
 ../../srcdir/gcc/../libcpp/include
 /usr/local/include
 /usr/local/i386-unknown-freebsd4.10/include
 /usr/local/lib/gcc-lib/i386-unknown-freebsd4.10/2.8.1/include
 /usr/include
End of search list.
In file included from ../../srcdir/gcc/../libcpp/include/cpplib.h:29,
                 from c-parse.y:42:
/home/4/wilx/include/config.h:1: #error "config.h in ~/include!!!"

This time /home/4/wilx/include has made it to the first include path that is
searched. For better illustration I have changed the original ~/include/config.h
that has been installed by INN with my own one:

[EMAIL PROTECTED]:::~/tmp/gcc-head/objdir/gcc> cat ~/include/config.h
#error "config.h in ~/include!!!"

-- 
           Summary: Bootstrap with GCC 2.8.1 and CFLASG="-I${HOME}/include"
                    and config.h in ~/include is broken
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: v dot haisman at sh dot cvut dot cz
                CC: gcc-bugs at gcc dot gnu dot org,v dot haisman at sh dot
                    cvut dot cz
 GCC build triplet: i386-unknown-freebsd4.10
  GCC host triplet: i386-unknown-freebsd4.10
GCC target triplet: i386-unknown-freebsd4.10


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18062

Reply via email to