diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-04-23 18:18:26 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-04-23 18:18:26 +0000 |
commit | b8b2ed6529f176db7832d1e2a69fae55fa336bc8 (patch) | |
tree | 5f28e2ae2097fd91edda3c0900da7a321e32dabe /clang/lib/Lex/PPDirectives.cpp | |
parent | 1ef49218b31145c6b0d1d1095a4be2103c93e4ce (diff) | |
download | bcm5719-llvm-b8b2ed6529f176db7832d1e2a69fae55fa336bc8.tar.gz bcm5719-llvm-b8b2ed6529f176db7832d1e2a69fae55fa336bc8.zip |
[modules] Determine the set of macros exported by a submodule at the end of that submodule.
Previously we'd defer this determination until writing the AST, which doesn't
allow us to use this information when building other submodules of the same
module. This change also allows us to use a uniform mechanism for writing
module macro records, independent of whether they are local or imported.
llvm-svn: 235614
Diffstat (limited to 'clang/lib/Lex/PPDirectives.cpp')
-rw-r--r-- | clang/lib/Lex/PPDirectives.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Lex/PPDirectives.cpp b/clang/lib/Lex/PPDirectives.cpp index a50c8a82935..c22b0592218 100644 --- a/clang/lib/Lex/PPDirectives.cpp +++ b/clang/lib/Lex/PPDirectives.cpp @@ -1787,6 +1787,8 @@ void Preprocessor::HandleIncludeDirective(SourceLocation HashLoc, assert(!CurSubmodule && "should not have marked this as a module yet"); CurSubmodule = BuildingModule.getModule(); + EnterSubmodule(CurSubmodule); + EnterAnnotationToken(*this, HashLoc, End, tok::annot_module_begin, CurSubmodule); } |