RFC: case insensitive for #include
Chris Lattner
clattner@apple.com
Thu Jan 29 19:25:00 GMT 2009
On Jan 28, 2009, at 12:24 PM, H.J. Lu wrote:
> On Wed, Jan 28, 2009 at 12:21 PM, Chris Lattner <clattner@apple.com>
> wrote:
>>
>> On Jan 28, 2009, at 11:51 AM, H.J. Lu wrote:
>>
>>> Hi,
>>>
>>> I got a request to try "FOO.H" if foo.h doesn't exist when dealing
>>> with
>>>
>>> #include "foo.h"
>>>
>>> Any comments?
>>
>> I strongly recommend against this, unless this is only a "last
>> chance" fall
>> back.
>>
>> From a performance standpoint, if you have -Idir1 -Idir2 -Idir3,
>> you don't
>> want to stat all variants of "foo.h" in dir1 before moving on to
>> dir2. If
>> you do a full search for foo.h in all appropriate search paths, and
>> then
>> redo it only on failure, then the performance issue goes away.
>> However, in
>> that case you get very difficult to explain behavior if you have
>> multiple
>> files with spelling variants of foo.h in different search paths.
>>
>
> I won't stat all variants of "foo.h". I think scandir will work here
> and
> this feature will be supported only if scandir is available.
HJ, this is a very performance sensitive part of the preprocessor.
Just doing a scandir would be a huge cost.
-Chris
More information about the Gcc
mailing list