summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/submodule-visibility.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [modules] When a declaration has non-trivial visibility, check whether it'sRichard Smith2015-11-131-0/+7
| | | | | | | actually hidden before we check its linkage. This avoids computing the linkage "too early" for an anonymous struct with a typedef name for linkage. llvm-svn: 253012
* [modules] Make sure macros get made visible in the top-level file if we've gotRichard Smith2015-06-301-0/+8
| | | | | | | local submodule visibility enabled; that top-level file might not actually be the module includes buffer if use of prebuilt modules is disabled. llvm-svn: 241120
* [modules] Simplify -cc1 interface for enabling implicit module maps.Richard Smith2015-06-161-4/+4
| | | | | | | | | | | | | 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
* [modules] If we see a #include that maps to a module, but use of precompiled ↵Richard Smith2015-05-181-0/+1
| | | | | | modules is disabled, track submodule visibility anyway if -fmodules-local-submodule-visibility is enabled. This, in effect, gives modules semantics but without precompilation. llvm-svn: 237550
* [modules] Add local submodule visibility support for declarations.Richard Smith2015-05-151-0/+21
With this change, enabling -fmodules-local-submodule-visibility results in name visibility rules being applied to submodules of the current module in addition to imported modules (that is, names no longer "leak" between submodules of the same top-level module). This also makes it much safer to textually include a non-modular library into a module: each submodule that textually includes that library will get its own "copy" of that library, and so the library becomes visible no matter which including submodule you import. llvm-svn: 237473
OpenPOWER on IntegriCloud