diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2018-01-05 22:13:56 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2018-01-05 22:13:56 +0000 |
commit | c192d1942e4186a6990d22228bf421612242836a (patch) | |
tree | bd07a42483e4c7f8f3181ab67fda5b1b2f5a0c8a /clang/lib/Frontend/FrontendAction.cpp | |
parent | 7f5fb676c0284353a1b8d7b0c89bed4f31386c3b (diff) | |
download | bcm5719-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.cpp | 7 |
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)) |