diff options
Diffstat (limited to 'clang/lib/Frontend/FrontendActions.cpp')
-rw-r--r-- | clang/lib/Frontend/FrontendActions.cpp | 40 |
1 files changed, 4 insertions, 36 deletions
diff --git a/clang/lib/Frontend/FrontendActions.cpp b/clang/lib/Frontend/FrontendActions.cpp index 3e0f525e653..a55a3257851 100644 --- a/clang/lib/Frontend/FrontendActions.cpp +++ b/clang/lib/Frontend/FrontendActions.cpp @@ -10,13 +10,10 @@ #include "clang/Frontend/FrontendActions.h" #include "clang/AST/ASTConsumer.h" #include "clang/Basic/FileManager.h" -#include "clang/Basic/TargetInfo.h" -#include "clang/CodeGen/CodeGenModuleContainer.h" #include "clang/Frontend/ASTConsumers.h" #include "clang/Frontend/ASTUnit.h" #include "clang/Frontend/CompilerInstance.h" #include "clang/Frontend/FrontendDiagnostic.h" -#include "clang/Frontend/MultiplexConsumer.h" #include "clang/Frontend/Utils.h" #include "clang/Lex/HeaderSearch.h" #include "clang/Lex/Pragma.h" @@ -88,23 +85,8 @@ GeneratePCHAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { if (!CI.getFrontendOpts().RelocatablePCH) Sysroot.clear(); - - std::vector<std::unique_ptr<ASTConsumer>> Consumers; - Consumers.push_back(llvm::make_unique<PCHGenerator>(CI.getPreprocessor(), - OutputFile, nullptr, - Sysroot)); - - auto CGOpts = CI.getCodeGenOpts(); - // The debug info emitted by ModuleContainerGenerator is not affected by the - // optimization level. - CGOpts.OptimizationLevel = 0; - CGOpts.setDebugInfo(CodeGenOptions::LimitedDebugInfo); - Consumers.push_back(std::unique_ptr<ASTConsumer>( - CreateModuleContainerGenerator(CI.getDiagnostics(), "PCH", CGOpts, - CI.getTargetOpts(), CI.getLangOpts(), OS, - cast<PCHGenerator>(Consumers[0].get())))); - - return llvm::make_unique<MultiplexConsumer>(std::move(Consumers)); + return llvm::make_unique<PCHGenerator>(CI.getPreprocessor(), OutputFile, + nullptr, Sysroot, OS); } bool GeneratePCHAction::ComputeASTConsumerArguments(CompilerInstance &CI, @@ -140,22 +122,8 @@ GenerateModuleAction::CreateASTConsumer(CompilerInstance &CI, if (ComputeASTConsumerArguments(CI, InFile, Sysroot, OutputFile, OS)) return nullptr; - std::vector<std::unique_ptr<ASTConsumer>> Consumers; - Consumers.push_back(llvm::make_unique<PCHGenerator>(CI.getPreprocessor(), - OutputFile, Module, - Sysroot)); - - auto CGOpts = CI.getCodeGenOpts(); - // The debug info emitted by ModuleContainerGenerator is not affected by the - // optimization level. - CGOpts.OptimizationLevel = 0; - CGOpts.setDebugInfo(CodeGenOptions::LimitedDebugInfo); - Consumers.push_back( - std::unique_ptr<ASTConsumer>(CreateModuleContainerGenerator( - CI.getDiagnostics(), Module->getFullModuleName(), CGOpts, - CI.getTargetOpts(), CI.getLangOpts(), OS, - cast<PCHGenerator>(Consumers[0].get())))); - return llvm::make_unique<MultiplexConsumer>(std::move(Consumers)); + return llvm::make_unique<PCHGenerator>(CI.getPreprocessor(), OutputFile, + Module, Sysroot, OS); } static SmallVectorImpl<char> & |