summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/FrontendAction.cpp
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2018-01-05 22:13:56 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2018-01-05 22:13:56 +0000
commitc192d1942e4186a6990d22228bf421612242836a (patch)
treebd07a42483e4c7f8f3181ab67fda5b1b2f5a0c8a /clang/lib/Frontend/FrontendAction.cpp
parent7f5fb676c0284353a1b8d7b0c89bed4f31386c3b (diff)
downloadbcm5719-llvm-c192d1942e4186a6990d22228bf421612242836a.tar.gz
bcm5719-llvm-c192d1942e4186a6990d22228bf421612242836a.zip
Track shadow modules with a generation counter.
This is a follow up to r321855, closing the gap between our internal shadow modules implementation and upstream. It has been tested for longer and provides a better approach for tracking shadow modules. Mostly NFCI. rdar://problem/23612102 llvm-svn: 321906
Diffstat (limited to 'clang/lib/Frontend/FrontendAction.cpp')
-rw-r--r--clang/lib/Frontend/FrontendAction.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Frontend/FrontendAction.cpp b/clang/lib/Frontend/FrontendAction.cpp
index 12226b23141..1b4d789b4d9 100644
--- a/clang/lib/Frontend/FrontendAction.cpp
+++ b/clang/lib/Frontend/FrontendAction.cpp
@@ -858,6 +858,13 @@ bool FrontendAction::BeginSourceFile(CompilerInstance &CI,
CI.getDiagnostics().Report(diag::err_module_map_not_found) << Filename;
}
+ // Add a module declaration scope so that modules from -fmodule-map-file
+ // arguments may shadow modules found implicitly in search paths.
+ CI.getPreprocessor()
+ .getHeaderSearchInfo()
+ .getModuleMap()
+ .finishModuleDeclarationScope();
+
// If we were asked to load any module files, do so now.
for (const auto &ModuleFile : CI.getFrontendOpts().ModuleFiles)
if (!CI.loadModuleFile(ModuleFile))
OpenPOWER on IntegriCloud