This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch win32]: fix for PR target/41943


2010/7/27 Joseph S. Myers <joseph@codesourcery.com>:
> On Fri, 23 Jul 2010, Richard Guenther wrote:
>
>> > Err.. I'm not sure quite what you're talking about.
>> >
>> > native:
>> > #include "..." search starts here:
>> > #include <...> search starts here:
>> > ?/usr/local/include
>> > ?/usr/lib/gcc/x86_64-redhat-linux/4.4.4/include
>> > ?/usr/include
>> > End of search list.
>> >
>> > cross+sysroot:
>> > #include "..." search starts here:
>> > #include <...> search starts here:
>> > ?/local/rth/gcc/run-axp/lib/gcc/alphaev67-linux/4.6.0/include
>> > ?/local/rth/gcc/run-axp/lib/gcc/alphaev67-linux/4.6.0/include-fixed
>> > ?/local/rth/gcc/run-axp/lib/gcc/alphaev67-linux/4.6.0/../../../../alphaev67-linux/include
>> > ?/local/rth/gcc/run-axp/alphaev67-linux/sys-root/usr/include
>> > End of search list.
>> >
>> > In both cases gcc-include preceeds the system-include dir.
>> > The only difference is that native also searches local-include
>> > (although I can't tell you why that preceeds gcc-include).
>>
>> I wondered about this myself, but it is even documented this way
>> in cpp.texi ...
>>
>> It seems that there is no local include dir for cross+sysroot.
>>
>> I'm sure Joseph knows why?
>
> My guess would be that the ordering predates the separation of include and
> include-fixed. ?/usr/local/include was meant to be headers that are known
> to work with GCC (as opposed to /usr/include, the headers originally for
> use with a proprietary non-GNU compiler) and so (a) didn't need fixed
> versions of headers and (b) was meant to go before system headers and
> override them in the case of local GNU libraries replacing pieces of
> system functionality.
>
> Now, I'd think what's logical would be the GCC include directory, then
> system headers including both /usr/local/include and /usr/include and
> putting fixed versions of a directory immediately before that directory.
> But since we only have fixed headers for /usr/include, that means include,
> /usr/local/include, include-fixed, /usr/include. ?In a sysroot
> configuration, $sysroot/usr/local/include ought to be searched; I see no
> reason for it not to be and searching it improves consistency with what is
> searched in the native case.
>
> --
> Joseph S. Myers
> joseph@codesourcery.com

So a patch to change the include-order here in the following way

...
...
GCC_INCLUDE_DIR
LOCAL_INCLUDE_DIR
PREFIX_INCLUDE_DIR
CROSS_INCLUDE_DIR
TOOL_INCLUDE_DIR
SYSTEM_INCLUDE_DIR
FIXED_INCLUDE_DIR
STANDARD_INCLUDE_DIR

would be ok?

Regards,
Kai

-- 
|? (\_/) This is Bunny. Copy and paste
| (='.'=) Bunny into your signature to help
| (")_(") him gain world domination


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]