summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/Inputs/submodule-visibility
Commit message (Collapse)AuthorAgeFilesLines
* [modules] When creating a declaration, cache its owning module immediatelyRichard Smith2017-05-172-1/+14
| | | | | | | | | | | | | | | rather than waiting until it's queried. Currently this is only applied to local submodule visibility mode, as we don't yet allocate storage for the owning module in non-local-visibility modules compilations. This reinstates r302965, reverted in r303037, with a fix for the reported crash, which occurred when reparenting a local declaration to be a child of a hidden imported declaration (specifically during template instantiation). llvm-svn: 303224
* [modules] Before checking whether the controlling macro of a header is defined,Richard Smith2015-07-015-0/+13
| | | | | | | | | | | update the identifier in case we've imported a definition of the macro (and thus the contents of the header) from a module. Also fold ExternalIdentifierLookup into ExternalPreprocessorSource; it no longer makes sense to keep these separate now that the only user of the former also needs the latter. llvm-svn: 241137
* [modules] Make sure macros get made visible in the top-level file if we've gotRichard Smith2015-06-302-0/+12
| | | | | | | 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] If we re-enter a submodule from within itself (when submoduleRichard Smith2015-05-213-0/+21
| | | | | | | | | | visibility is enabled) or leave and re-enter it, restore the macro and module visibility state from last time we were in that submodule. This allows mutually-#including header files to stand a chance at being modularized with local visibility enabled. llvm-svn: 237871
* [modules] Add local submodule visibility support for declarations.Richard Smith2015-05-153-0/+3
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