summaryrefslogtreecommitdiffstats
path: root/clang/lib/Lex/ModuleMap.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Switch on-demand module building over to use module maps, always. WhenDouglas Gregor2011-11-291-22/+32
| | | | | | | 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
* Teach the module import mechanism how to rebuild modules expressed viaDouglas Gregor2011-11-291-0/+9
| | | | | | | module map, rather than assuming that there is an umbrella header. This allows us to automatically build umbrella-less modules. llvm-svn: 145415
* Expose the printing of module maps as part of the ModuleMap::ModuleDouglas Gregor2011-11-291-34/+36
| | | | | | interface. No functionality change. llvm-svn: 145411
* Add the notion of "framework" modules to module maps. FrameworkDouglas Gregor2011-11-171-9/+49
| | | | | | | modules (obviously) describe frameworks, and understand the header layout of frameworks. llvm-svn: 144921
* Actually free memory for the module mapsDouglas Gregor2011-11-171-0/+15
| | | | llvm-svn: 144880
* When we're loading a framework header, first try to turn the frameworkDouglas Gregor2011-11-171-0/+28
| | | | | | | | | 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
* A module with an umbrella header assumes that all of the headers inDouglas Gregor2011-11-161-0/+40
| | | | | | | | 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
* Silence unused variable warning.Benjamin Kramer2011-11-131-2/+2
| | | | llvm-svn: 144500
* Teach the search for modules to consider modules described by a moduleDouglas Gregor2011-11-111-0/+8
| | | | | | | | | | | | | | 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
* Wire up the mapping from header files mentioned in module maps over toDouglas Gregor2011-11-111-0/+17
| | | | | | | 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
* Resolve the header files named in module map "header" and "umbrella"Douglas Gregor2011-11-111-6/+70
| | | | | | declarations to actual files. llvm-svn: 144408
* Introduce basic support for parsing module map files.Douglas Gregor2011-11-111-0/+506
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
OpenPOWER on IntegriCloud