This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug preprocessor/31186] New: -I/usr/include not taken into account
- From: "vincent at vinc17 dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Mar 2007 14:22:36 -0000
- Subject: [Bug preprocessor/31186] New: -I/usr/include not taken into account
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
When C_INCLUDE_PATH is defined and -I/usr/include is used, /usr/include should
have the precedence, but examples show that it is not taken into account.
vin:~> cat test.c
#include <mpfr.h>
vin:~> C_INCLUDE_PATH=/home/vlefevre/include gcc -E -I/usr/include test.c |
grep mpfr.h
# 1 "/home/vlefevre/include/mpfr.h" 1 3
[...]
vin:~> gcc -E -I/usr/include test.c | grep mpfr.h
# 1 "/usr/include/mpfr.h" 1 3 4
[...]
vin:~> C_INCLUDE_PATH=/home/vlefevre/include gcc -E
-I/usr/milip-local/stow/mpfr-2.2.0/mpfr/include test.c | grep mpfr.h
# 1 "/usr/milip-local/stow/mpfr-2.2.0/mpfr/include/mpfr.h" 1
[...]
The gcc man page says:
-isystem dir
Search dir for header files, after all directories specified
by -I but before the standard system directories. Mark it
as a system directory, so that it gets the same special
treatment as is applied to the standard system directories.
so that in the first case, the search path should be:
/usr/include /home/vlefevre/include /usr/include
equivalent to:
/usr/include /home/vlefevre/include
Note: this introduces an inconsistency when both -I/usr/include and -L/usr/lib
are used, since the header file is taken from C_INCLUDE_PATH and the library
file is taken from /usr/lib.
--
Summary: -I/usr/include not taken into account
Product: gcc
Version: 4.1.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: vincent at vinc17 dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31186