summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/submodules.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [modules] Simplify -cc1 interface for enabling implicit module maps.Richard Smith2015-06-161-1/+1
| | | | | | | | | | | | | We used to have a flag to enable module maps, and two more flags to enable implicit module maps. This is all redundant; we don't need any flag for enabling module maps in the abstract, and we don't usually have -fno- flags for -cc1. We now have just a single flag, -fimplicit-module-maps, that enables implicitly searching the file system for module map files and loading them. The driver interface is unchanged for now. We should probably rename -fmodule-maps to -fimplicit-module-maps at some point. llvm-svn: 239789
* Make module self-import an errorBen Langmuir2014-05-051-6/+0
| | | | | | | | Ideally, importing Foo.a from Foo.b would "do the right thing", but until it does, this patch makes it an error rather than allow it to silently be ignored. llvm-svn: 207948
* Don't build modules with (submodules with) missing headersBen Langmuir2014-04-181-5/+0
| | | | | | | | Unless they are in submodules that aren't available anyway, due to requirements not being met. Also, mark children as unavailable when the parent is. llvm-svn: 206664
* If a #include finds a file relative to the current file, don't forget to checkRichard Smith2014-03-051-3/+1
| | | | | | whether it's part of a module. llvm-svn: 203005
* Modules: Don't warn upon missing headers while reading the module map.Daniel Jasper2013-12-171-0/+5
| | | | | | | | | | | | | | | Instead, mark the module as unavailable so that clang errors as soon as someone tries to build this module. This works towards the long-term goal of not stat'ing the header files at all while reading the module map and instead read them only when the module is being built (there is a corresponding FIXME in parseHeaderDecl()). However, it seems non-trivial to get there and this unblock us and moves us into the right direction. Also changed the implementation to reuse the same DiagnosticsEngine. llvm-svn: 197485
* Fix crash if a submodule @imports another submodule from the same module. TheRichard Smith2013-10-181-0/+7
| | | | | | | test also adds FIXMEs for a number of places where imports and includes of submodules don't work very well. llvm-svn: 193005
* During typo correction, check for an exact match in an unimported module. If weRichard Smith2013-08-201-4/+4
| | | | | | find one, then report the error as a missing import instead of as a typo. llvm-svn: 188821
* Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for ↵Douglas Gregor2013-02-071-1/+1
| | | | | | consistency. llvm-svn: 174645
* Use @import rather than @__experimental_modules_import, since theDouglas Gregor2012-12-111-5/+5
| | | | | | latter is rather a mess to type. llvm-svn: 169919
* Change @import to @__experimental_modules_import. We are not ready to ↵Ted Kremenek2012-03-011-5/+5
| | | | | | | | commit to a particular syntax for modules, and don't have time to push it forward in the near future. llvm-svn: 151841
* Eliminate the uglified keyword __import_module__ for importingDouglas Gregor2012-01-031-6/+7
| | | | | | | | | | | | | modules. This leaves us without an explicit syntax for importing modules in C/C++, because such a syntax needs to be discussed first. In Objective-C/Objective-C++, the @import syntax is used to import modules. Note that, under -fmodules, C/C++ programs can import modules via the #include mechanism when a module map is in place for that header. This allows us to work with modules in C/C++ without committing to a syntax. llvm-svn: 147467
* Rename the command-line option for mapping #include/#import over toDouglas Gregor2012-01-031-1/+1
| | | | | | | | module imports from -fauto-module-import to -fmodules. The new name will eventually be used to enable modules, and the #include/#import mapping is a crucial part of the feature. llvm-svn: 147447
* Implement name hiding for declarations deserialized from a non-visibleDouglas Gregor2011-12-011-1/+22
| | | | | | module. When that module becomes visible, so do those declarations. llvm-svn: 145640
* Add preprocessor-only test for submodule importsDouglas Gregor2011-11-301-0/+1
| | | | llvm-svn: 145490
* When loading a module that involves submodules (e.g., std.vector),Douglas Gregor2011-11-301-0/+6
check whether the named submodules themselves are actually valid, and drill down to the named submodule (although we don't do anything with it yet). Perform typo correction on the submodule names when possible. llvm-svn: 145477
OpenPOWER on IntegriCloud