]> granicus.if.org Git - clang/commit
When looking for the module associated with one of our magical builtin headers, specu...
authorDouglas Gregor <dgregor@apple.com>
Thu, 2 May 2013 17:58:30 +0000 (17:58 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 2 May 2013 17:58:30 +0000 (17:58 +0000)
commitdb3910be2e30b3fa00474f0e1c0780f544469dee
treed7d55d20fae825b53544f132dfd991779362d659
parent82e3b47276f175a4b51772525da5314f0f48df9c
When looking for the module associated with one of our magical builtin headers, speculatively load module maps.

The "magical" builtin headers are the headers we provide as part of
the C standard library, which typically comes from /usr/include. We
essentially merge our headers into that location (due to cyclic
dependencies). This change makes sure that, when header search finds
one of our builtin headers, we figure out which module it actually
lives in. This case is fairly rare; one ends up having to include one
of the few built-in C headers we provide before including anything
from /usr/include to trigger it. Fixes <rdar://problem/13787184>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180934 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Lex/ModuleMap.cpp
test/Modules/Inputs/System/usr/include/dbl_max.h [new file with mode: 0644]
test/Modules/Inputs/System/usr/include/module.map
test/Modules/Inputs/System/usr/include/uses_other_constants.h [new file with mode: 0644]
test/Modules/cstd.m