History log of /external/clang/lib/Lex/ModuleMap.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c0b6dbe00f920593e60e38bfd7b77621aef307cc 29-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> Make ModuleMapParser own its TargetInfo, so it doesn't get leaked.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
99831e4677a7e2e051af636221694d60ba31fcdb 06-Mar-2012 Richard Smith <richard-llvm@metafoo.co.uk> User-defined literals: reject string and character UDLs in all places where the
grammar requires a string-literal and not a user-defined-string-literal. The
two constructs are still represented by the same TokenKind, in order to prevent
a combinatorial explosion of different kinds of token. A flag on Token tracks
whether a ud-suffix is present, in order to prevent clients from needing to look
at the token's spelling.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
c93dc7889644293e318e19d82830ea2acc45b678 20-Feb-2012 Dylan Noblesmith <nobled@dreamwidth.org> Basic: import IntrusiveRefCntPtr<> into clang namespace

The class name is long enough without the llvm:: added.
Also bring in RefCountedBase and RefCountedBaseVPTR.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
5bbc385ad2d8e487edfbc2756eaf4fb0b920cfe4 06-Feb-2012 Benjamin Kramer <benny.kra@googlemail.com> Move instantiateTemplateAttribute into the sema namespace, make helpers static.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
f7ccbad5d9949e7ddd1cbef43d482553b811e026 05-Feb-2012 Dylan Noblesmith <nobled@dreamwidth.org> Basic: import SmallString<> into clang namespace

(I was going to fix the TODO about DenseMap too, but
that would break self-host right now. See PR11922.)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
2f04f1843ca0ffca13b8b0d4dadd1f50dffb38b8 02-Feb-2012 Douglas Gregor <dgregor@apple.com> Back out my heinous hack that tricked the module generation mechanism
into using non-absolute system includes (<foo>)...

... and introduce another hack that is simultaneously more heineous
and more effective. We whitelist Clang-supplied headers that augment
or override system headers (such as float.h, stdarg.h, and
tgmath.h). For these headers, Clang does not provide a module
mapping. Instead, a system-supplied module map can refer to these
headers in a system module, and Clang will look both in its own
include directory and wherever the system-supplied module map
suggests, then adds either or both headers. The end result is that
Clang-supplied headers get merged into the system-supplied module for
the C standard library.

As a drive-by, fix up a few dependencies in the _Builtin_instrinsics
module.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
dc58aa71026cce539ca9b5c2c52cc4efc7bd77fe 30-Jan-2012 Douglas Gregor <dgregor@apple.com> Thread a TargetInfo through to the module map; we'll need it for
target-specific module requirements.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
a1f1fad8b60e1cb9d21a40a37f2e03150bcbeb6f 27-Jan-2012 Douglas Gregor <dgregor@apple.com> Introduce module attributes into the module map grammar, along with a
single attribute ("system") that allows us to mark a module as being a
"system" module. Each of the headers that makes up a system module is
considered to be a system header, so that we (for example) suppress
warnings there.

If a module is being inferred for a framework, and that framework
directory is within a system frameworks directory, infer it as a
system framework.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
7530c034c0c71a64c5a9173206d9742ae847af8b 17-Jan-2012 David Blaikie <dblaikie@gmail.com> Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
3a110f75acafc992cb664200cebec90520986715 13-Jan-2012 Douglas Gregor <dgregor@apple.com> Don't infer a submodule for a framework's private header, at least for now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
a150fa308028c3eed168c8d08f7ca4ded7d2b94f 13-Jan-2012 Douglas Gregor <dgregor@apple.com> Revert previous commit. Something has gone wonky with my local configuration

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
d30630f86592524f087f7bc7c889555a9293d7c8 13-Jan-2012 Douglas Gregor <dgregor@apple.com> When inferring a module map for a framework, add the 'private'
requirement to headers under PrivateHeaders. We don't want to build
them as part of the module (yet).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
303aae98a5a27f2595d023c0b4e1484bf2c0ee57 06-Jan-2012 Douglas Gregor <dgregor@apple.com> When inferring a submodule ID during module creation, look up the
include stack to find the first file that is known to be part of the
module. This copes with situations where the module map doesn't
completely specify all of the headers that are involved in the module,
which can come up when there are very strange #include_next chains
(e.g., with weird compiler/stdlib headers like stdarg.h or float.h).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
c634f50c5cc892b899659c1743d696766c82afcd 05-Jan-2012 Douglas Gregor <dgregor@apple.com> If we already have a definition for a top-level module that we deserialized from a module file, don't bother parsing a new definition

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
b7a7819473709c01ea024a2dc15e99d38f0f8760 05-Jan-2012 Douglas Gregor <dgregor@apple.com> Store the submodules of a module in source order, as they are stored
in the module map. This provides a bit more predictability for the
user, as well as eliminating the need to sort the submodules when
serializing them.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
51f564f80d9f71e175635b452ffeeeff899e9bf1 31-Dec-2011 Douglas Gregor <dgregor@apple.com> Implement support for module requirements, which indicate the language
features needed for a particular module to be available. This allows
mixed-language modules, where certain headers only work under some
language variants (e.g., in C++, std.tuple might only be available in
C++11 mode).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
3cee31e4d7c23d3d5d0b8927998577b9f75087d7 13-Dec-2011 Douglas Gregor <dgregor@apple.com> Set umbrella directory correctly when we infer a framework module

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
6a1db484f32eb791840dd55a8d45c86ff5bd0834 09-Dec-2011 Douglas Gregor <dgregor@apple.com> Implement the notion of umbrella directories, which implicity cover
all of the headers below that particular directory. Use umbrella
directories as a clean way to deal with (1) directories/frameworks
that don't have an umbrella header, but don't want to enumerate all of
their headers, and (2) PrivateHeaders, which we never want to
enumerate and want to keep separate from the main umbrella header.

This also eliminates a little more of the "magic" for private headers,
and frameworks in general.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
77d029f6a24dbf70d97e61757945df53fb250ea0 08-Dec-2011 Douglas Gregor <dgregor@apple.com> Implement umbrella directories for modules, which are similar to
umbrella headers in the sense that all of the headers within that
directory (and eventually its subdirectories) are considered to be
part of the module with that umbrella directory. However, unlike
umbrella headers, which are expected to include all of the headers
within their subdirectories, Clang will automatically include all of
the headers it finds in the named subdirectory.

The intent here is to allow a module map to trivially turn a
subdirectory into a module, where the module's structure can mimic the
directory structure.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
489ad43b77c10a98df80f1395de81e3f52697e76 08-Dec-2011 Douglas Gregor <dgregor@apple.com> Tweak the syntax of umbrella headers, so that "umbrella" is treated as
a modifier for a header declarartion, e.g.,

umbrella header "headername"

Collapse the umbrella-handling code in the parser into the
header-handling code, so we don't duplicate the header-search logic.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
10694cee2588442bee1e717f5042c58ffee25279 08-Dec-2011 Douglas Gregor <dgregor@apple.com> Within the module representation, generalize the notion of an umbrella
header to also support umbrella directories. The umbrella directory
for an umbrella header is the directory in which the umbrella header
resides.

No functionality change yet, but it's coming.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
52b1ed3685c80cb436f2a616c3c13a066f9d1e31 08-Dec-2011 Douglas Gregor <dgregor@apple.com> Convert paths to native format before constructing a
directory_iterator for them.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
23af6d58e392e18ae2946b799264717f480e6596 07-Dec-2011 Douglas Gregor <dgregor@apple.com> Implement inference for the "Private" submodule corresponding to
private headers in a framework.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
587986efc5ca409da3ebf0a4ab7f72ebf50a3ab9 07-Dec-2011 Douglas Gregor <dgregor@apple.com> Implement basic support for private headers in frameworks. In essence,
when we load a module map (module.map) from a directory, also load a
private module map (module_private.map) for that directory, if
present. That private module map can inject a new submodule that
captures private headers.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
e6fb9876970e2dc55f091522644efa16caa9ba06 06-Dec-2011 Douglas Gregor <dgregor@apple.com> Remove misleading error message

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
ac252a3b0f8101a7274309e4a5cf2d5f0fdba675 06-Dec-2011 Douglas Gregor <dgregor@apple.com> When inferring a module map for a framework, infer subframework
modules for each of its subframeworks.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
ef85b56bfee855823756a6f46ee50a8c7cc5f3a6 06-Dec-2011 Douglas Gregor <dgregor@apple.com> Allow inferred submodules for any (sub)module that has an umbrella header

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
d620a84a01cc232a9449dbcc2c40bd43ca314fc9 06-Dec-2011 Douglas Gregor <dgregor@apple.com> Implement modules support for subframeworks (aka embedded
frameworks). A submodule can now be labeled as a "framework", and
header search will look into the appropriate Headers/PrivateHeaders
subdirectories for named headers.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
9f74f4f05c407b59f7639606bb0f4ec377b4e126 06-Dec-2011 Douglas Gregor <dgregor@apple.com> Minor tweak to prepare for submodules with umbrella headers. No actual
functionality change yet.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
e209e5026892cb07294f733c72bd51359c0f0e72 06-Dec-2011 Douglas Gregor <dgregor@apple.com> Implement inferred submodules support, which (when requested)
implicitly generates submodules corresponding to the headers that fall
within a module.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145887 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
1e12368db12005ddd92fd9188c86383fe30ef443 05-Dec-2011 Douglas Gregor <dgregor@apple.com> Parse inferred submodules in module maps, track their contents in
Module, and (de-)serialize this information. Semantics of inferred
submodules to follow.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
209977c4d809914a20fd44873876c76cf972a56d 05-Dec-2011 Douglas Gregor <dgregor@apple.com> Inferred framework modules automatically export anything they import
(i.e., 'export *'), to better match the semantics of headers.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
0adaa880993ad23186c87c7f98e7a3fd2697742c 05-Dec-2011 Douglas Gregor <dgregor@apple.com> Implement support for wildcard exports in modules, allowing a module
to re-export anything that it imports. This opt-in feature makes a
module behave more like a header, because it can be used to re-export
the transitive closure of a (sub)module's dependencies.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
55988680ece66b8e505ee136b35e74fcb1173aee 05-Dec-2011 Douglas Gregor <dgregor@apple.com> When writing a module file, keep track of the set of (sub)modules that
it imports, establishing dependencies at the (sub)module
granularity. This is not a user-visible change (yet).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
90db26000aefe9335370013eec64c85232d80227 02-Dec-2011 Douglas Gregor <dgregor@apple.com> Implementing parsing and resolution of module export declarations
within module maps, which will (eventually) be used to re-export a
module from another module. There are still some pieces missing,
however.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
863eb53b5c97037874129b33711e0b668ce73975 01-Dec-2011 Douglas Gregor <dgregor@apple.com> Unbreak build with GCC. Clang is too lame to diagnose this particular ill-formedness

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
1a4761edca58c6b559de825b9abfb66f7f1ba94a 01-Dec-2011 Douglas Gregor <dgregor@apple.com> Promote ModuleMap::Module to a namespace-scope class in the Basic
library, since modules cut across all of the libraries. Rename
serialization::Module to serialization::ModuleFile to side-step the
annoying naming conflict. Prune a bunch of ModuleMap.h includes that
are no longer needed (most files only needed the Module type).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
392ed2b717d86ebdd202cb9bb58d18d8b3b4cd87 30-Nov-2011 Douglas Gregor <dgregor@apple.com> Implement (de-)serialization of the description of a module and its
submodules. This information will eventually be used for name hiding
when dealing with submodules. For now, we only use it to ensure that
the module "key" returned when loading a module will always be a
module (rather than occasionally being a FileEntry).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
c55edcf93ec47a576cb0093592fe0944fec5de70 30-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Use raw_ostream::indent.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
7f5fd8e79c5e528da0307792efd354ffa202722d 30-Nov-2011 Douglas Gregor <dgregor@apple.com> Switch the module map printer over to
raw_ostream::write_escaped. Thanks, Benjamin!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
213d1be740f0150a338d5f58f1bce8c219775400 29-Nov-2011 Douglas Gregor <dgregor@apple.com> Escape strings when printing module maps, for silly operating systems
that use \ as a separator.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
18ee547b6926cacefa15eed8ca60ff73d22e279b 29-Nov-2011 Douglas Gregor <dgregor@apple.com> Switch on-demand module building over to use module maps, always. When
we infer the module map, we'll just print the module map to a
temporary file and generate the module using that.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
f9e357d8a66c606a86a6e1aef678898b8843bd30 29-Nov-2011 Douglas Gregor <dgregor@apple.com> Teach the module import mechanism how to rebuild modules expressed via
module map, rather than assuming that there is an umbrella
header. This allows us to automatically build umbrella-less modules.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
804c3bfee22076f232dddf4839439119cfdee2b6 29-Nov-2011 Douglas Gregor <dgregor@apple.com> Expose the printing of module maps as part of the ModuleMap::Module
interface. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
a865405e4155e8ea83d7ff1a1d8316907c300897 17-Nov-2011 Douglas Gregor <dgregor@apple.com> Add the notion of "framework" modules to module maps. Framework
modules (obviously) describe frameworks, and understand the header
layout of frameworks.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
09fe1bb696847e6f1b482e5ac40029d53a2402df 17-Nov-2011 Douglas Gregor <dgregor@apple.com> Actually free memory for the module maps

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
2821c7f8870629b56b9c41e1c50c7a091edd544d 17-Nov-2011 Douglas Gregor <dgregor@apple.com> When we're loading a framework header, first try to turn the framework
into a module. This module can either be loaded from a module map in
the framework directory (which isn't quite working yet) or inferred
from an umbrella header (which does work, and replaces the existing
hack).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
adb979924ade3e25342c38a5b564400b4e0540c1 17-Nov-2011 Douglas Gregor <dgregor@apple.com> A module with an umbrella header assumes that all of the headers in
the umbrella header's directory and its subdirectories are part of the
module (that's why it's an umbrella). Make sure that these headers are
considered to be part of the module for lookup purposes.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
c96c7218b9968f0f4bd30c25e79aca638a3249b6 13-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Silence unused variable warning.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
484535e45b4d301847a157e943c7823da5d40884 12-Nov-2011 Douglas Gregor <dgregor@apple.com> Teach the search for modules to consider modules described by a module
map, so long as they have an umbrella header. This makes it possible
to introduce a module map + umbrella header for a given set of
headers, to turn it into a module.

There are two major deficiencies here: first, we don't go hunting for
module map files when we just see a module import (so we won't know
about the modules described therein). Second, we don't yet have a way
to build modules that don't have umbrella headers, or have incomplete
umbrella headers.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
65f3b5e99009f49d51eb00a859dbd2c2ee660718 11-Nov-2011 Douglas Gregor <dgregor@apple.com> Wire up the mapping from header files mentioned in module maps over to
the corresponding (top-level) modules. This isn't actually useful yet,
because we don't yet have a way to build modules out of module maps.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
8b6d3deb5af464e1afbbeccdec369c5d4252b1a0 11-Nov-2011 Douglas Gregor <dgregor@apple.com> Resolve the header files named in module map "header" and "umbrella"
declarations to actual files.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp
a30cfe5026b12c28b7b575b48176e0a3543ce939 11-Nov-2011 Douglas Gregor <dgregor@apple.com> Introduce basic support for parsing module map files.

Module map files provide a way to map between headers and modules, so
that we can layer a module system on top of existing headers without
changing those headers at all.

This commit introduces the module map file parser and the module map
that it generates, and wires up the module map file parser so that
we'll automatically find module map files as part of header
search. Note that we don't yet use the information stored in the
module map.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Lex/ModuleMap.cpp