diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2017-02-27 03:52:36 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2017-02-27 03:52:36 +0000 |
commit | cf486b24baea24818a169983334cb681c3478616 (patch) | |
tree | 819b2d666fca9e881acecac2fb45fd853b157fbb /clang/lib/Frontend/FrontendActions.cpp | |
parent | aa5c52744b1cb7bc2b015e89ca5993cd25f768a2 (diff) | |
download | llvm-cf486b24baea24818a169983334cb681c3478616.zip llvm-cf486b24baea24818a169983334cb681c3478616.tar.gz llvm-cf486b24baea24818a169983334cb681c3478616.tar.bz2 |
[GeneratePCHAction] If preprocessor option 'AllowPCHWithCompilerErrors' is enabled, don't delete the produced PCH file if error diagnostics occurred.
llvm-svn: 296320
Diffstat (limited to 'clang/lib/Frontend/FrontendActions.cpp')
-rw-r--r-- | clang/lib/Frontend/FrontendActions.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Frontend/FrontendActions.cpp b/clang/lib/Frontend/FrontendActions.cpp index c475cf4..bb4f530 100644 --- a/clang/lib/Frontend/FrontendActions.cpp +++ b/clang/lib/Frontend/FrontendActions.cpp @@ -93,7 +93,7 @@ GeneratePCHAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { Consumers.push_back(llvm::make_unique<PCHGenerator>( CI.getPreprocessor(), OutputFile, Sysroot, Buffer, CI.getFrontendOpts().ModuleFileExtensions, - /*AllowASTWithErrors*/false, + /*AllowASTWithErrors*/CI.getPreprocessorOpts().AllowPCHWithCompilerErrors, /*IncludeTimestamps*/ +CI.getFrontendOpts().IncludeTimestamps)); Consumers.push_back(CI.getPCHContainerWriter().CreatePCHContainerGenerator( @@ -127,6 +127,12 @@ GeneratePCHAction::ComputeASTConsumerArguments(CompilerInstance &CI, return OS; } +bool GeneratePCHAction::shouldEraseOutputFiles() { + if (getCompilerInstance().getPreprocessorOpts().AllowPCHWithCompilerErrors) + return false; + return ASTFrontendAction::shouldEraseOutputFiles(); +} + bool GeneratePCHAction::BeginSourceFileAction(CompilerInstance &CI, StringRef Filename) { CI.getLangOpts().CompilingPCH = true; |