History log of /llvm-project/clang/lib/Lex/ModuleMap.cpp (Results 301 – 325 of 337)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 4dc71835 12-Dec-2011 Douglas Gregor <dgregor@apple.com>

Set umbrella directory correctly when we infer a framework module

llvm-svn: 146451


# 7033127b 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

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.

llvm-svn: 146235

show more ...


# 524e33e1 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
p

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.

llvm-svn: 146165

show more ...


# 322f633c 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 i

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.

llvm-svn: 146159

show more ...


# 73141fa9 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 umbrell

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.

llvm-svn: 146158

show more ...


# ddaa69cb 08-Dec-2011 Douglas Gregor <dgregor@apple.com>

Convert paths to native format before constructing a
directory_iterator for them.

llvm-svn: 146154


# 9458f82d 07-Dec-2011 Douglas Gregor <dgregor@apple.com>

Implement inference for the "Private" submodule corresponding to
private headers in a framework.

llvm-svn: 146082


# e7ab3669 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,

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.

llvm-svn: 146012

show more ...


# d6343c99 06-Dec-2011 Douglas Gregor <dgregor@apple.com>

Remove misleading error message

llvm-svn: 145958


# e89dbc1d 06-Dec-2011 Douglas Gregor <dgregor@apple.com>

When inferring a module map for a framework, infer subframework
modules for each of its subframeworks.

llvm-svn: 145957


# dd005f69 06-Dec-2011 Douglas Gregor <dgregor@apple.com>

Allow inferred submodules for any (sub)module that has an umbrella header

llvm-svn: 145945


# f2161a70 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
subdire

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.

llvm-svn: 145941

show more ...


# 930a85cc 06-Dec-2011 Douglas Gregor <dgregor@apple.com>

Minor tweak to prepare for submodules with umbrella headers. No actual
functionality change yet.

llvm-svn: 145938


# a89c5ac4 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.

llvm-svn: 145887


# 73441091 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.

llvm-svn: 145864


# d8bd7537 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.

llvm-svn: 145813


# f5eedd05 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-

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.

llvm-svn: 145811

show more ...


# 0093b3c7 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).

llvm-svn: 145808


# 2b82c2a5 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,
h

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.

llvm-svn: 145665

show more ...


# ef42154c 30-Nov-2011 Douglas Gregor <dgregor@apple.com>

Unbreak build with GCC. Clang is too lame to diagnose this particular ill-formedness

llvm-svn: 145539


# de3ef502 30-Nov-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
an

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).

llvm-svn: 145538

show more ...


# 69021974 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 ensur

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).

llvm-svn: 145497

show more ...


# 382eaada 30-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com>

Use raw_ostream::indent.

llvm-svn: 145492


# 4f3fa713 30-Nov-2011 Douglas Gregor <dgregor@apple.com>

Switch the module map printer over to
raw_ostream::write_escaped. Thanks, Benjamin!

llvm-svn: 145491


# fe96ee03 29-Nov-2011 Douglas Gregor <dgregor@apple.com>

Escape strings when printing module maps, for silly operating systems
that use \ as a separator.

llvm-svn: 145439


1...<<11121314