g++ bug
v13@priest.com
v13@priest.com
Wed Sep 5 14:58:00 GMT 2001
Description:
When compiling a C++ file, AND have:
CPLUS_INCLUDE_FILE set to something (even : )
g++ will use the header file from the current dir
instead of the standard dirs, when using #include <>
This was tested with gcc 3.0 and gcc 3.0.1
This will not happen when using older gcc (tested with gcc 2.95.3)
the required data are provided bellow. All the files that were used are
attached. I've looked at the known bugs and found nothing.
<<V13>>
hell:/tmp/1# gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/specs
Configured with: ../gcc-3.0/configure --enable-threads=posix --prefix=/usr
Thread model: posix
gcc version 3.0.1
hell:/tmp/1# ls -l
total 12
-rw-r----- 1 root root 40 Sep 6 00:20 a.cc
-rw-r----- 1 root root 14 Sep 6 00:20 signal.h
hell:/tmp/1# cat a.cc
#include <signal.h>
int main(void)
{
}
hell:/tmp/1# cat signal.h
#warning lala
hell:/tmp/1# g++ a.cc
In file included from a.cc:1:
signal.h:1:2: warning: #warning lala
hell:/tmp/1# export CPLUS_INCLUDE_PATH=:
hell:/tmp/1# g++ -v -save-temps a.cc
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/specs
Configured with: ../gcc-3.0/configure --enable-threads=posix --prefix=/usr
Thread model: posix
gcc version 3.0.1
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/cpp0 -lang-c++ -D__GNUG__=3 -D__GXX_DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -v -D__GNUC__=3 -D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=1 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_GNU_SOURCE -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ a.cc a.ii
GNU CPP version 3.0.1 (cpplib) (i386 Linux/ELF)
ignoring duplicate directory "."
#include "..." search starts here:
#include <...> search starts here:
.
/usr/include/g++-v3
/usr/include/g++-v3/i686-pc-linux-gnu
/usr/include/g++-v3/backward
/usr/local/include
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/include
/usr/i686-pc-linux-gnu/include
/usr/include
End of search list.
In file included from a.cc:1:
signal.h:1:2: warning: #warning lala
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/cc1plus -fpreprocessed a.ii -quiet -dumpbase a.cc -version -o a.s
GNU CPP version 3.0.1 (cpplib) (i386 Linux/ELF)
GNU C++ version 3.0.1 (i686-pc-linux-gnu)
compiled by GNU C version 3.0.1.
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../../i686-pc-linux-gnu/bin/as -V -Qy -o a.o a.s
GNU assembler version 2.11.2 (i686-pc-linux-gnu) using BFD version 2.11.2
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/collect2 -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../crt1.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/crtbegin.o -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1 -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../.. a.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/crtend.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../crtn.o
hell:/tmp/1# unset CPLUS_INCLUDE_PATH
hell:/tmp/1# g++ -v -save-temps a.cc
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/specs
Configured with: ../gcc-3.0/configure --enable-threads=posix --prefix=/usr
Thread model: posix
gcc version 3.0.1
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/cpp0 -lang-c++ -D__GNUG__=3 -D__GXX_DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -v -D__GNUC__=3 -D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=1 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_GNU_SOURCE -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ a.cc a.ii
GNU CPP version 3.0.1 (cpplib) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
/usr/include/g++-v3
/usr/include/g++-v3/i686-pc-linux-gnu
/usr/include/g++-v3/backward
/usr/local/include
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/include
/usr/i686-pc-linux-gnu/include
/usr/include
End of search list.
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/cc1plus -fpreprocessed a.ii -quiet -dumpbase a.cc -version -o a.s
GNU CPP version 3.0.1 (cpplib) (i386 Linux/ELF)
GNU C++ version 3.0.1 (i686-pc-linux-gnu)
compiled by GNU C version 3.0.1.
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../../i686-pc-linux-gnu/bin/as -V -Qy -o a.o a.s
GNU assembler version 2.11.2 (i686-pc-linux-gnu) using BFD version 2.11.2
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/collect2 -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../crt1.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/crtbegin.o -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1 -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../.. a.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/crtend.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../crtn.o
More information about the Gcc-bugs
mailing list