This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: gcc-3.4.4 and the '-I' switch.
- From: Danny Smith <dannysmith at clear dot net dot nz>
- To: syphus1 at optusnet dot com dot au
- Cc: GCC-help at gcc dot gnu dot org, mingw-users at lists dot sourceforge dot net
- Date: Thu, 12 Jan 2006 21:41:22 +1300
- Subject: Re: gcc-3.4.4 and the '-I' switch.
Forwarding to mingw list from gcc-help:
"Sisyphus" <isyphus1 at optusnet dot com dot au> wrote:
> Hi,
> On linux I'm using gcc 3.2.2. If I run a command like:
>
> gcc -c foo.c -I/usr/include -v
>
> then I'm told that '-I/usr/include/' is being ignored "as it is a
non-system
> directory that duplicates a system directory".
>
> That's good - and the way it should be, imho.
>
> On Win32 I'm using the MinGW port of gcc 3.4.4. One of the system
> directories is 'D:/MinGW/include'. If, on Win32, I run a command like:
>
> gcc -c foo.c -ID:/MinGW/include -v
>
> then I find that D:/MinGW/include is simply inserted at the beginning
of the
> search path - and, furthermore, that D:/MinGW/include *loses* its
status as
> a system directory.
>
> This is not good.
>
I think the problem is that, because of lack of meaningful inode
numbers, the mechanism to detect duplicate directories in
gcc/c-incpath.c: remove_duplicates fails. Hence, we cannot ignore
duplicates of system directories on mingw32. Replacing INO_T_EQ with a
mingw-host function that does a strcmp of lrealpath() pathnames works.
Danny
> The question:
> Do I raise this with you people, or do I raise it with the MinGW folk
?
>
> I *think* it's a MinGW implemenation issue (in which case I raise it
with
> them) .... but, faik, it could be something that changed between
gcc-3.2.2
> and gcc-3.4.4. Can someone confirm ?
>
> Cheers,
> Rob