This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: preprocessor/4464: cpp removes duplicate entries from include path
- To: dan at graysonfamily dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org
- Subject: Re: preprocessor/4464: cpp removes duplicate entries from include path
- From: neil at gcc dot gnu dot org
- Date: 6 Nov 2001 21:28:55 -0000
Synopsis: cpp removes duplicate entries from include path
State-Changed-From-To: open->closed
State-Changed-By: neil
State-Changed-When: Tue Nov 6 13:28:54 2001
State-Changed-Why:
This is intended behaviour. The documentation of -I states
It is dangerous to specify a standard system include directory in an `-I' option. This defeats the special treatment of system headers (see section 2.7 System Headers). It can also defeat the repairs to buggy system headers which GCC makes when it is installed.
at http://gcc.gnu.org/onlinedocs/gcc-3.0.2/cpp_12.html#SEC57
and at
http://gcc.gnu.org/onlinedocs/gcc-3.0.2/cpp_2.html#SEC12
The `-isystem' command line option adds its argument to the list of directories to search for headers, just like `-I'. Any headers found in that directory will be considered system headers.
All directories named by `-isystem' are searched after all directories named by `-I', no matter what their order was on the command line. If the same directory is named by both `-I' and `-isystem', `-I' wins; it is as if the `-isystem' option had never been specified at all.
The problems you see are normally symptoms of a bad configuration, or a consequence of command lines as described above.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=4464&database=gcc