diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-10-14 02:08:30 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-10-14 02:08:30 +0000 |
commit | 99891da71a88eb812a55574a717d0efe77052b8a (patch) | |
tree | 38f80347b6612c3fd5959a51a155441d8c8b1eb1 /clang/lib/Frontend/CompilerInstance.cpp | |
parent | 32952e1e42ce69c232b37b26173ef301a2318f38 (diff) | |
download | bcm5719-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.cpp | 13 |
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 && |