summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInstance.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-10-14 02:08:30 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-10-14 02:08:30 +0000
commit99891da71a88eb812a55574a717d0efe77052b8a (patch)
tree38f80347b6612c3fd5959a51a155441d8c8b1eb1 /clang/lib/Frontend/CompilerInstance.cpp
parent32952e1e42ce69c232b37b26173ef301a2318f38 (diff)
downloadbcm5719-llvm-99891da71a88eb812a55574a717d0efe77052b8a.tar.gz
bcm5719-llvm-99891da71a88eb812a55574a717d0efe77052b8a.zip
Extend -Rmodule-build to also remark when module building finishes.
In cases of nested module builds, or when you care how long module builds take, this information was not previously easily available / obvious. llvm-svn: 219658
Diffstat (limited to 'clang/lib/Frontend/CompilerInstance.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInstance.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/clang/lib/Frontend/CompilerInstance.cpp b/clang/lib/Frontend/CompilerInstance.cpp
index 923881c2efe..e1803d0f311 100644
--- a/clang/lib/Frontend/CompilerInstance.cpp
+++ b/clang/lib/Frontend/CompilerInstance.cpp
@@ -963,7 +963,11 @@ static bool compileModuleImpl(CompilerInstance &ImportingInstance,
// safe because the FileManager is shared between the compiler instances.
GenerateModuleAction CreateModuleAction(
ModMap.getModuleMapFileForUniquing(Module), Module->IsSystem);
-
+
+ ImportingInstance.getDiagnostics().Report(ImportLoc,
+ diag::remark_module_build)
+ << Module->Name << ModuleFileName;
+
// Execute the action to actually build the module in-place. Use a separate
// thread so that we get a stack large enough.
const unsigned ThreadStackSize = 8 << 20;
@@ -971,6 +975,10 @@ static bool compileModuleImpl(CompilerInstance &ImportingInstance,
CRC.RunSafelyOnThread([&]() { Instance.ExecuteAction(CreateModuleAction); },
ThreadStackSize);
+ ImportingInstance.getDiagnostics().Report(ImportLoc,
+ diag::remark_module_build_done)
+ << Module->Name;
+
// Delete the temporary module map file.
// FIXME: Even though we're executing under crash protection, it would still
// be nice to do this with RemoveFileOnSignal when we can. However, that
@@ -1352,9 +1360,6 @@ CompilerInstance::loadModule(SourceLocation ImportLoc,
return ModuleLoadResult();
}
- getDiagnostics().Report(ImportLoc, diag::remark_module_build)
- << ModuleName << ModuleFileName;
-
// Check whether we have already attempted to build this module (but
// failed).
if (getPreprocessorOpts().FailedModules &&
OpenPOWER on IntegriCloud