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();