| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
directory_iterator for them.
llvm-svn: 146154
|
|
|
|
|
|
| |
private headers in a framework.
llvm-svn: 146082
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 145958
|
|
|
|
|
|
| |
modules for each of its subframeworks.
llvm-svn: 145957
|
|
|
|
| |
llvm-svn: 145945
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
functionality change yet.
llvm-svn: 145938
|
|
|
|
|
|
|
| |
implicitly generates submodules corresponding to the headers that fall
within a module.
llvm-svn: 145887
|
|
|
|
|
|
|
| |
Module, and (de-)serialize this information. Semantics of inferred
submodules to follow.
llvm-svn: 145864
|
|
|
|
|
|
| |
(i.e., 'export *'), to better match the semantics of headers.
llvm-svn: 145813
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
it imports, establishing dependencies at the (sub)module
granularity. This is not a user-visible change (yet).
llvm-svn: 145808
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
ill-formedness
llvm-svn: 145539
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 145492
|
|
|
|
|
|
| |
raw_ostream::write_escaped. Thanks, Benjamin!
llvm-svn: 145491
|
|
|
|
|
|
| |
that use \ as a separator.
llvm-svn: 145439
|
|
|
|
|
|
|
| |
we infer the module map, we'll just print the module map to a
temporary file and generate the module using that.
llvm-svn: 145436
|
|
|
|
|
|
|
| |
module map, rather than assuming that there is an umbrella
header. This allows us to automatically build umbrella-less modules.
llvm-svn: 145415
|
|
|
|
|
|
| |
interface. No functionality change.
llvm-svn: 145411
|
|
|
|
|
|
|
| |
modules (obviously) describe frameworks, and understand the header
layout of frameworks.
llvm-svn: 144921
|
|
|
|
| |
llvm-svn: 144880
|
|
|
|
|
|
|
|
|
| |
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).
llvm-svn: 144877
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 144859
|
|
|
|
| |
llvm-svn: 144500
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 144424
|
|
|
|
|
|
|
| |
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.
llvm-svn: 144410
|
|
|
|
|
|
| |
declarations to actual files.
llvm-svn: 144408
|
|
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.
llvm-svn: 144402
|