From 80cdc99737856951ab58fb54cddfb0073c81506b Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Tue, 12 Feb 2019 15:00:14 +0100 Subject: [PATCH] ClangRefactoring: Move clang options to BeginInvocation Change-Id: If4e90aa8e27b961026912bef3f0e81f972fbe0c7 Reviewed-by: Ivan Donchevskii --- .../source/collectsymbolsaction.h | 3 --- .../source/symbolscollector.cpp | 21 +++++++++++++++---- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/tools/clangrefactoringbackend/source/collectsymbolsaction.h b/src/tools/clangrefactoringbackend/source/collectsymbolsaction.h index 0d79bf24a36..2074a25a6e5 100644 --- a/src/tools/clangrefactoringbackend/source/collectsymbolsaction.h +++ b/src/tools/clangrefactoringbackend/source/collectsymbolsaction.h @@ -66,9 +66,6 @@ private: CreateASTConsumer(clang::CompilerInstance &compilerInstance, llvm::StringRef inFile) override { - compilerInstance.getPreprocessor().SetSuppressIncludeNotFoundError(true); - compilerInstance.getLangOpts().DelayedTemplateParsing = false; - return WrapperFrontendAction::CreateASTConsumer(compilerInstance, inFile); } }; diff --git a/src/tools/clangrefactoringbackend/source/symbolscollector.cpp b/src/tools/clangrefactoringbackend/source/symbolscollector.cpp index 2669a3d8767..1ceb4a14ce6 100644 --- a/src/tools/clangrefactoringbackend/source/symbolscollector.cpp +++ b/src/tools/clangrefactoringbackend/source/symbolscollector.cpp @@ -25,6 +25,7 @@ #include "symbolscollector.h" +#include #include namespace ClangBackEnd { @@ -96,14 +97,26 @@ newFrontendActionFactory(Factory *consumerFactory, } protected: - bool BeginSourceFileAction(clang::CompilerInstance &CI) override { - if (!clang::ASTFrontendAction::BeginSourceFileAction(CI)) + bool BeginInvocation(clang::CompilerInstance &compilerInstance) override + { + compilerInstance.getLangOpts().DelayedTemplateParsing = false; + + return clang::ASTFrontendAction::BeginInvocation(compilerInstance); + } + + bool BeginSourceFileAction(clang::CompilerInstance &compilerInstance) override + { + compilerInstance.getPreprocessor().SetSuppressIncludeNotFoundError(true); + + if (!clang::ASTFrontendAction::BeginSourceFileAction(compilerInstance)) return false; if (m_sourceFileCallbacks) - return m_sourceFileCallbacks->handleBeginSource(CI); + return m_sourceFileCallbacks->handleBeginSource(compilerInstance); return true; } - void EndSourceFileAction() override { + + void EndSourceFileAction() override + { if (m_sourceFileCallbacks) m_sourceFileCallbacks->handleEndSource(); clang::ASTFrontendAction::EndSourceFileAction();