diff options
45 files changed, 146 insertions, 122 deletions
diff --git a/clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp b/clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp index 9009647aaa6..3fd9fd47482 100644 --- a/clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp +++ b/clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp @@ -114,11 +114,10 @@ void StringFindStartswithCheck::check(const MatchFinder::MatchResult &Result) { } void StringFindStartswithCheck::registerPPCallbacks( - CompilerInstance &Compiler) { - IncludeInserter = llvm::make_unique<clang::tidy::utils::IncludeInserter>( - Compiler.getSourceManager(), Compiler.getLangOpts(), IncludeStyle); - Compiler.getPreprocessor().addPPCallbacks( - IncludeInserter->CreatePPCallbacks()); + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { + IncludeInserter = llvm::make_unique<utils::IncludeInserter>(SM, getLangOpts(), + IncludeStyle); + PP->addPPCallbacks(IncludeInserter->CreatePPCallbacks()); } void StringFindStartswithCheck::storeOptions( diff --git a/clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.h b/clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.h index 68bae50a323..8a702f73cda 100644 --- a/clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.h +++ b/clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.h @@ -28,7 +28,8 @@ class StringFindStartswithCheck : public ClangTidyCheck { public: using ClangTidyCheck::ClangTidyCheck; StringFindStartswithCheck(StringRef Name, ClangTidyContext *Context); - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; void storeOptions(ClangTidyOptions::OptionMap &Opts) override; diff --git a/clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp index bcd1ab8aa9d..cc8cb3bd68e 100644 --- a/clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp @@ -64,10 +64,10 @@ void LambdaFunctionNameCheck::registerMatchers(MatchFinder *Finder) { this); } -void LambdaFunctionNameCheck::registerPPCallbacks(CompilerInstance &Compiler) { - Compiler.getPreprocessor().addPPCallbacks( - llvm::make_unique<MacroExpansionsWithFileAndLine>( - &SuppressMacroExpansions)); +void LambdaFunctionNameCheck::registerPPCallbacks( + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { + PP->addPPCallbacks(llvm::make_unique<MacroExpansionsWithFileAndLine>( + &SuppressMacroExpansions)); } void LambdaFunctionNameCheck::check(const MatchFinder::MatchResult &Result) { diff --git a/clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.h b/clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.h index b00df533103..64cb94519b1 100644 --- a/clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.h @@ -36,7 +36,8 @@ public: LambdaFunctionNameCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context) {} void registerMatchers(ast_matchers::MatchFinder *Finder) override; - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; private: diff --git a/clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp index 2bebf4adeed..874cd470e07 100644 --- a/clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp @@ -248,10 +248,9 @@ void MacroParenthesesPPCallbacks::argument(const Token &MacroNameTok, } } -void MacroParenthesesCheck::registerPPCallbacks(CompilerInstance &Compiler) { - Compiler.getPreprocessor().addPPCallbacks( - llvm::make_unique<MacroParenthesesPPCallbacks>( - &Compiler.getPreprocessor(), this)); +void MacroParenthesesCheck::registerPPCallbacks( + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { + PP->addPPCallbacks(llvm::make_unique<MacroParenthesesPPCallbacks>(PP, this)); } } // namespace bugprone diff --git a/clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.h b/clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.h index 4b9e181952f..9446991cd9b 100644 --- a/clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.h @@ -32,7 +32,8 @@ class MacroParenthesesCheck : public ClangTidyCheck { public: MacroParenthesesCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context) {} - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; }; } // namespace bugprone diff --git a/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp index 91ec09444e3..ee703466ef2 100644 --- a/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp @@ -172,10 +172,8 @@ bool MacroRepeatedPPCallbacks::hasSideEffects( } void MacroRepeatedSideEffectsCheck::registerPPCallbacks( - CompilerInstance &Compiler) { - Compiler.getPreprocessor().addPPCallbacks( - ::llvm::make_unique<MacroRepeatedPPCallbacks>( - *this, Compiler.getPreprocessor())); + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { + PP->addPPCallbacks(::llvm::make_unique<MacroRepeatedPPCallbacks>(*this, *PP)); } } // namespace bugprone diff --git a/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.h b/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.h index 6917c5b2737..eff3a1234d1 100644 --- a/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.h @@ -20,7 +20,8 @@ class MacroRepeatedSideEffectsCheck : public ClangTidyCheck { public: MacroRepeatedSideEffectsCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context) {} - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; }; } // namespace bugprone diff --git a/clang-tools-extra/clang-tidy/cert/SetLongJmpCheck.cpp b/clang-tools-extra/clang-tidy/cert/SetLongJmpCheck.cpp index fb8c5835db1..87ac2de5f65 100644 --- a/clang-tools-extra/clang-tidy/cert/SetLongJmpCheck.cpp +++ b/clang-tools-extra/clang-tidy/cert/SetLongJmpCheck.cpp @@ -41,7 +41,9 @@ public: }; } // namespace -void SetLongJmpCheck::registerPPCallbacks(CompilerInstance &Compiler) { +void SetLongJmpCheck::registerPPCallbacks(const SourceManager &SM, + Preprocessor *PP, + Preprocessor *ModuleExpanderPP) { // This checker only applies to C++, where exception handling is a superior // solution to setjmp/longjmp calls. if (!getLangOpts().CPlusPlus) @@ -49,8 +51,7 @@ void SetLongJmpCheck::registerPPCallbacks(CompilerInstance &Compiler) { // Per [headers]p5, setjmp must be exposed as a macro instead of a function, // despite the allowance in C for setjmp to also be an extern function. - Compiler.getPreprocessor().addPPCallbacks( - llvm::make_unique<SetJmpMacroCallbacks>(*this)); + PP->addPPCallbacks(llvm::make_unique<SetJmpMacroCallbacks>(*this)); } void SetLongJmpCheck::registerMatchers(MatchFinder *Finder) { diff --git a/clang-tools-extra/clang-tidy/cert/SetLongJmpCheck.h b/clang-tools-extra/clang-tidy/cert/SetLongJmpCheck.h index 660545dc158..38445c4a122 100644 --- a/clang-tools-extra/clang-tidy/cert/SetLongJmpCheck.h +++ b/clang-tools-extra/clang-tidy/cert/SetLongJmpCheck.h @@ -25,7 +25,8 @@ public: : ClangTidyCheck(Name, Context) {} void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; }; } // namespace cert diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp index 07351b86946..01c25d241a5 100644 --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp @@ -67,14 +67,14 @@ void MacroUsageCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { Options.store(Opts, "IgnoreCommandLineMacros", IgnoreCommandLineMacros); } -void MacroUsageCheck::registerPPCallbacks(CompilerInstance &Compiler) { +void MacroUsageCheck::registerPPCallbacks(const SourceManager &SM, + Preprocessor *PP, + Preprocessor *ModuleExpanderPP) { if (!getLangOpts().CPlusPlus11) return; - Compiler.getPreprocessor().addPPCallbacks( - llvm::make_unique<MacroUsageCallbacks>(this, Compiler.getSourceManager(), - AllowedRegexp, CheckCapsOnly, - IgnoreCommandLineMacros)); + PP->addPPCallbacks(llvm::make_unique<MacroUsageCallbacks>( + this, SM, AllowedRegexp, CheckCapsOnly, IgnoreCommandLineMacros)); } void MacroUsageCheck::warnMacro(const MacroDirective *MD, StringRef MacroName) { diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.h b/clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.h index fc96e338744..978edd8e67c 100644 --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.h +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.h @@ -30,7 +30,8 @@ public: CheckCapsOnly(Options.get("CheckCapsOnly", 0)), IgnoreCommandLineMacros(Options.get("IgnoreCommandLineMacros", 1)) {} void storeOptions(ClangTidyOptions::OptionMap &Opts) override; - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; void warnMacro(const MacroDirective *MD, StringRef MacroName); void warnNaming(const MacroDirective *MD, StringRef MacroName); diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp index 32e3fb54043..28fccfdbabd 100644 --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp @@ -31,13 +31,13 @@ void ProBoundsConstantArrayIndexCheck::storeOptions( } void ProBoundsConstantArrayIndexCheck::registerPPCallbacks( - CompilerInstance &Compiler) { + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { if (!getLangOpts().CPlusPlus) return; - Inserter.reset(new utils::IncludeInserter( - Compiler.getSourceManager(), Compiler.getLangOpts(), IncludeStyle)); - Compiler.getPreprocessor().addPPCallbacks(Inserter->CreatePPCallbacks()); + Inserter = llvm::make_unique<utils::IncludeInserter>(SM, getLangOpts(), + IncludeStyle); + PP->addPPCallbacks(Inserter->CreatePPCallbacks()); } void ProBoundsConstantArrayIndexCheck::registerMatchers(MatchFinder *Finder) { diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.h b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.h index c056926c61f..c75795ac744 100644 --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.h +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.h @@ -28,7 +28,8 @@ class ProBoundsConstantArrayIndexCheck : public ClangTidyCheck { public: ProBoundsConstantArrayIndexCheck(StringRef Name, ClangTidyContext *Context); - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override; void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; diff --git a/clang-tools-extra/clang-tidy/fuchsia/RestrictSystemIncludesCheck.cpp b/clang-tools-extra/clang-tidy/fuchsia/RestrictSystemIncludesCheck.cpp index e42e32cd72f..08981fce0f5 100644 --- a/clang-tools-extra/clang-tidy/fuchsia/RestrictSystemIncludesCheck.cpp +++ b/clang-tools-extra/clang-tidy/fuchsia/RestrictSystemIncludesCheck.cpp @@ -23,7 +23,7 @@ namespace fuchsia { class RestrictedIncludesPPCallbacks : public PPCallbacks { public: explicit RestrictedIncludesPPCallbacks(RestrictSystemIncludesCheck &Check, - SourceManager &SM) + const SourceManager &SM) : Check(Check), SM(SM) {} void InclusionDirective(SourceLocation HashLoc, const Token &IncludeTok, @@ -53,7 +53,7 @@ private: llvm::SmallDenseMap<FileID, FileIncludes> IncludeDirectives; RestrictSystemIncludesCheck &Check; - SourceManager &SM; + const SourceManager &SM; }; void RestrictedIncludesPPCallbacks::InclusionDirective( @@ -101,10 +101,9 @@ void RestrictedIncludesPPCallbacks::EndOfMainFile() { } void RestrictSystemIncludesCheck::registerPPCallbacks( - CompilerInstance &Compiler) { - Compiler.getPreprocessor().addPPCallbacks( - llvm::make_unique<RestrictedIncludesPPCallbacks>( - *this, Compiler.getSourceManager())); + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { + PP->addPPCallbacks( + llvm::make_unique<RestrictedIncludesPPCallbacks>(*this, SM)); } void RestrictSystemIncludesCheck::storeOptions( diff --git a/clang-tools-extra/clang-tidy/fuchsia/RestrictSystemIncludesCheck.h b/clang-tools-extra/clang-tidy/fuchsia/RestrictSystemIncludesCheck.h index 64da2e76712..a9aca3406f6 100644 --- a/clang-tools-extra/clang-tidy/fuchsia/RestrictSystemIncludesCheck.h +++ b/clang-tools-extra/clang-tidy/fuchsia/RestrictSystemIncludesCheck.h @@ -29,7 +29,8 @@ public: AllowedIncludes(Options.get("Includes", "*")), AllowedIncludesGlobList(AllowedIncludes) {} - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; void storeOptions(ClangTidyOptions::OptionMap &Opts) override; bool contains(StringRef FileName) { return AllowedIncludesGlobList.contains(FileName); diff --git a/clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.cpp b/clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.cpp index fbc47b77e15..d279343e27d 100644 --- a/clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.cpp +++ b/clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.cpp @@ -77,10 +77,9 @@ private: } // namespace void AvoidUnderscoreInGoogletestNameCheck::registerPPCallbacks( - CompilerInstance &Compiler) { - Compiler.getPreprocessor().addPPCallbacks( - llvm::make_unique<AvoidUnderscoreInGoogletestNameCallback>( - &Compiler.getPreprocessor(), this)); + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { + PP->addPPCallbacks( + llvm::make_unique<AvoidUnderscoreInGoogletestNameCallback>(PP, this)); } } // namespace readability diff --git a/clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.h b/clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.h index 8a1a2f2545d..2a8afd6bea1 100644 --- a/clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.h +++ b/clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.h @@ -22,7 +22,8 @@ class AvoidUnderscoreInGoogletestNameCheck : public ClangTidyCheck { public: using ClangTidyCheck::ClangTidyCheck; - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; }; } // namespace readability diff --git a/clang-tools-extra/clang-tidy/google/TodoCommentCheck.cpp b/clang-tools-extra/clang-tidy/google/TodoCommentCheck.cpp index c46f07df37c..40d65a654a9 100644 --- a/clang-tools-extra/clang-tidy/google/TodoCommentCheck.cpp +++ b/clang-tools-extra/clang-tidy/google/TodoCommentCheck.cpp @@ -55,8 +55,10 @@ TodoCommentCheck::TodoCommentCheck(StringRef Name, ClangTidyContext *Context) Handler(llvm::make_unique<TodoCommentHandler>( *this, Context->getOptions().User)) {} -void TodoCommentCheck::registerPPCallbacks(CompilerInstance &Compiler) { - Compiler.getPreprocessor().addCommentHandler(Handler.get()); +void TodoCommentCheck::registerPPCallbacks(const SourceManager &SM, + Preprocessor *PP, + Preprocessor *ModuleExpanderPP) { + PP->addCommentHandler(Handler.get()); } } // namespace readability diff --git a/clang-tools-extra/clang-tidy/google/TodoCommentCheck.h b/clang-tools-extra/clang-tidy/google/TodoCommentCheck.h index eb89dd03d0b..8f7564fedc6 100644 --- a/clang-tools-extra/clang-tidy/google/TodoCommentCheck.h +++ b/clang-tools-extra/clang-tidy/google/TodoCommentCheck.h @@ -22,7 +22,8 @@ namespace readability { class TodoCommentCheck : public ClangTidyCheck { public: TodoCommentCheck(StringRef Name, ClangTidyContext *Context); - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; private: class TodoCommentHandler; diff --git a/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp b/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp index 3d23644e6e8..9c3ab0b783f 100644 --- a/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp +++ b/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp @@ -20,7 +20,8 @@ namespace llvm { namespace { class IncludeOrderPPCallbacks : public PPCallbacks { public: - explicit IncludeOrderPPCallbacks(ClangTidyCheck &Check, SourceManager &SM) + explicit IncludeOrderPPCallbacks(ClangTidyCheck &Check, + const SourceManager &SM) : LookForMainModule(true), Check(Check), SM(SM) {} void InclusionDirective(SourceLocation HashLoc, const Token &IncludeTok, @@ -45,14 +46,14 @@ private: bool LookForMainModule; ClangTidyCheck &Check; - SourceManager &SM; + const SourceManager &SM; }; } // namespace -void IncludeOrderCheck::registerPPCallbacks(CompilerInstance &Compiler) { - Compiler.getPreprocessor().addPPCallbacks( - ::llvm::make_unique<IncludeOrderPPCallbacks>( - *this, Compiler.getSourceManager())); +void IncludeOrderCheck::registerPPCallbacks(const SourceManager &SM, + Preprocessor *PP, + Preprocessor *ModuleExpanderPP) { + PP->addPPCallbacks(::llvm::make_unique<IncludeOrderPPCallbacks>(*this, SM)); } static int getPriority(StringRef Filename, bool IsAngled, bool IsMainModule) { diff --git a/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.h b/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.h index b10496e05ca..9ccf0281091 100644 --- a/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.h +++ b/clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.h @@ -22,7 +22,8 @@ class IncludeOrderCheck : public ClangTidyCheck { public: IncludeOrderCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context) {} - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; }; } // namespace llvm diff --git a/clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp b/clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp index ffc041b4a3b..af4d47c026e 100644 --- a/clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp @@ -40,11 +40,11 @@ private: }; } // namespace -void DeprecatedHeadersCheck::registerPPCallbacks(CompilerInstance &Compiler) { - if (this->getLangOpts().CPlusPlus) { - Compiler.getPreprocessor().addPPCallbacks( - ::llvm::make_unique<IncludeModernizePPCallbacks>(*this, - this->getLangOpts())); +void DeprecatedHeadersCheck::registerPPCallbacks( + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { + if (getLangOpts().CPlusPlus) { + PP->addPPCallbacks( + ::llvm::make_unique<IncludeModernizePPCallbacks>(*this, getLangOpts())); } } diff --git a/clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.h b/clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.h index 4be4ad9030e..1a3544a6317 100644 --- a/clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.h +++ b/clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.h @@ -36,7 +36,8 @@ class DeprecatedHeadersCheck : public ClangTidyCheck { public: DeprecatedHeadersCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context) {} - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; }; } // namespace modernize diff --git a/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp b/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp index 9b0c5d82fb4..5a152c8c320 100644 --- a/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp @@ -65,11 +65,13 @@ bool MakeSmartPtrCheck::isLanguageVersionSupported( return LangOpts.CPlusPlus11; } -void MakeSmartPtrCheck::registerPPCallbacks(CompilerInstance &Compiler) { +void MakeSmartPtrCheck::registerPPCallbacks(const SourceManager &SM, + Preprocessor *PP, + Preprocessor *ModuleExpanderPP) { if (isLanguageVersionSupported(getLangOpts())) { - Inserter = llvm::make_unique<utils::IncludeInserter>( - Compiler.getSourceManager(), Compiler.getLangOpts(), IncludeStyle); - Compiler.getPreprocessor().addPPCallbacks(Inserter->CreatePPCallbacks()); + Inserter = llvm::make_unique<utils::IncludeInserter>(SM, getLangOpts(), + IncludeStyle); + PP->addPPCallbacks(Inserter->CreatePPCallbacks()); } } diff --git a/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.h b/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.h index 82855e24b3d..62f88d4bf49 100644 --- a/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.h +++ b/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.h @@ -26,7 +26,8 @@ public: MakeSmartPtrCheck(StringRef Name, ClangTidyContext *Context, StringRef MakeSmartPtrFunctionName); void registerMatchers(ast_matchers::MatchFinder *Finder) final; - void registerPPCallbacks(clang::CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) final; void storeOptions(ClangTidyOptions::OptionMap &Opts) override; diff --git a/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp b/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp index 15c372530ab..a83e54a1c68 100644 --- a/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp @@ -164,14 +164,16 @@ void PassByValueCheck::registerMatchers(MatchFinder *Finder) { this); } -void PassByValueCheck::registerPPCallbacks(CompilerInstance &Compiler) { +void PassByValueCheck::registerPPCallbacks(const SourceManager &SM, + Preprocessor *PP, + Preprocessor *ModuleExpanderPP) { // Only register the preprocessor callbacks for C++; the functionality // currently does not provide any benefit to other languages, despite being // benign. if (getLangOpts().CPlusPlus) { - Inserter.reset(new utils::IncludeInserter( - Compiler.getSourceManager(), Compiler.getLangOpts(), IncludeStyle)); - Compiler.getPreprocessor().addPPCallbacks(Inserter->CreatePPCallbacks()); + Inserter = llvm::make_unique<utils::IncludeInserter>(SM, getLangOpts(), + IncludeStyle); + PP->addPPCallbacks(Inserter->CreatePPCallbacks()); } } diff --git a/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h b/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h index fde651748c7..7201747cb42 100644 --- a/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h +++ b/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h @@ -22,7 +22,8 @@ class PassByValueCheck : public ClangTidyCheck { public: PassByValueCheck(StringRef Name, ClangTidyContext *Context); void storeOptions(ClangTidyOptions::OptionMap &Opts) override; - void registerPPCallbacks(clang::CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; diff --git a/clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp b/clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp index 0de835e0f17..c1c223598c2 100644 --- a/clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp @@ -132,15 +132,17 @@ void ReplaceAutoPtrCheck::registerMatchers(MatchFinder *Finder) { this); } -void ReplaceAutoPtrCheck::registerPPCallbacks(CompilerInstance &Compiler) { +void ReplaceAutoPtrCheck::registerPPCallbacks(const SourceManager &SM, + Preprocessor *PP, + Preprocessor *ModuleExpanderPP) { // Only register the preprocessor callbacks for C++; the functionality // currently does not provide any benefit to other languages, despite being // benign. if (!getLangOpts().CPlusPlus) return; - Inserter.reset(new utils::IncludeInserter( - Compiler.getSourceManager(), Compiler.getLangOpts(), IncludeStyle)); - Compiler.getPreprocessor().addPPCallbacks(Inserter->CreatePPCallbacks()); + Inserter = llvm::make_unique<utils::IncludeInserter>(SM, getLangOpts(), + IncludeStyle); + PP->addPPCallbacks(Inserter->CreatePPCallbacks()); } void ReplaceAutoPtrCheck::check(const MatchFinder::MatchResult &Result) { diff --git a/clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.h b/clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.h index 174676e1269..94f0a845d79 100644 --- a/clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.h +++ b/clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.h @@ -45,7 +45,8 @@ public: ReplaceAutoPtrCheck(StringRef Name, ClangTidyContext *Context); void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override; - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; private: diff --git a/clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp b/clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp index 73afec7a5ca..44c108c8e20 100644 --- a/clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp @@ -43,11 +43,10 @@ void ReplaceRandomShuffleCheck::registerMatchers(MatchFinder *Finder) { } void ReplaceRandomShuffleCheck::registerPPCallbacks( - CompilerInstance &Compiler) { - IncludeInserter = llvm::make_unique<utils::IncludeInserter>( - Compiler.getSourceManager(), Compiler.getLangOpts(), IncludeStyle); - Compiler.getPreprocessor().addPPCallbacks( - IncludeInserter->CreatePPCallbacks()); + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { + IncludeInserter = llvm::make_unique<utils::IncludeInserter>(SM, getLangOpts(), + IncludeStyle); + PP->addPPCallbacks(IncludeInserter->CreatePPCallbacks()); } void ReplaceRandomShuffleCheck::storeOptions( diff --git a/clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.h b/clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.h index 65367080d22..d6970499a5a 100644 --- a/clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.h +++ b/clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.h @@ -24,7 +24,8 @@ namespace modernize { class ReplaceRandomShuffleCheck : public ClangTidyCheck { public: ReplaceRandomShuffleCheck(StringRef Name, ClangTidyContext *Context); - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; diff --git a/clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp b/clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp index abc5f4f2808..aa5c8199f6b 100644 --- a/clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp @@ -91,10 +91,11 @@ void MoveConstructorInitCheck::check(const MatchFinder::MatchResult &Result) { } } -void MoveConstructorInitCheck::registerPPCallbacks(CompilerInstance &Compiler) { - Inserter.reset(new utils::IncludeInserter( - Compiler.getSourceManager(), Compiler.getLangOpts(), IncludeStyle)); - Compiler.getPreprocessor().addPPCallbacks(Inserter->CreatePPCallbacks()); +void MoveConstructorInitCheck::registerPPCallbacks( + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { + Inserter = llvm::make_unique<utils::IncludeInserter>(SM, getLangOpts(), + IncludeStyle); + PP->addPPCallbacks(Inserter->CreatePPCallbacks()); } void MoveConstructorInitCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { diff --git a/clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.h b/clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.h index 34a202e3186..e3ebc8515a4 100644 --- a/clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.h +++ b/clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.h @@ -28,7 +28,8 @@ public: MoveConstructorInitCheck(StringRef Name, ClangTidyContext *Context); void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; - void registerPPCallbacks(clang::CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; void storeOptions(ClangTidyOptions::OptionMap &Opts) override; private: diff --git a/clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp b/clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp index 7b9b1f79f4d..652a6f9eb88 100644 --- a/clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp @@ -35,11 +35,10 @@ TypePromotionInMathFnCheck::TypePromotionInMathFnCheck( Options.getLocalOrGlobal("IncludeStyle", "llvm"))) {} void TypePromotionInMathFnCheck::registerPPCallbacks( - CompilerInstance &Compiler) { - IncludeInserter = llvm::make_unique<utils::IncludeInserter>( - Compiler.getSourceManager(), Compiler.getLangOpts(), IncludeStyle); - Compiler.getPreprocessor().addPPCallbacks( - IncludeInserter->CreatePPCallbacks()); + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { + IncludeInserter = llvm::make_unique<utils::IncludeInserter>(SM, getLangOpts(), + IncludeStyle); + PP->addPPCallbacks(IncludeInserter->CreatePPCallbacks()); } void TypePromotionInMathFnCheck::storeOptions( diff --git a/clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.h b/clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.h index bb5900aee44..809080a72aa 100644 --- a/clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.h +++ b/clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.h @@ -29,7 +29,8 @@ class TypePromotionInMathFnCheck : public ClangTidyCheck { public: TypePromotionInMathFnCheck(StringRef Name, ClangTidyContext *Context); - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp index 44f5fc20350..cf660815297 100644 --- a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp +++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp @@ -168,10 +168,10 @@ void UnnecessaryValueParamCheck::check(const MatchFinder::MatchResult &Result) { } void UnnecessaryValueParamCheck::registerPPCallbacks( - CompilerInstance &Compiler) { - Inserter.reset(new utils::IncludeInserter( - Compiler.getSourceManager(), Compiler.getLangOpts(), IncludeStyle)); - Compiler.getPreprocessor().addPPCallbacks(Inserter->CreatePPCallbacks()); + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { + Inserter = llvm::make_unique<utils::IncludeInserter>(SM, getLangOpts(), + IncludeStyle); + PP->addPPCallbacks(Inserter->CreatePPCallbacks()); } void UnnecessaryValueParamCheck::storeOptions( diff --git a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h index 84252edb586..dcaefb8c1dd 100644 --- a/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h +++ b/clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h @@ -27,7 +27,8 @@ public: UnnecessaryValueParamCheck(StringRef Name, ClangTidyContext *Context); void registerMatchers(ast_matchers::MatchFinder *Finder) override; void check(const ast_matchers::MatchFinder::MatchResult &Result) override; - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void onEndOfTranslationUnit() override; diff --git a/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp index e208c58e594..ea46d533662 100644 --- a/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp @@ -97,10 +97,9 @@ private: } // namespace void RedundantPreprocessorCheck::registerPPCallbacks( - CompilerInstance &Compiler) { - Compiler.getPreprocessor().addPPCallbacks( - ::llvm::make_unique<RedundantPreprocessorCallbacks>( - *this, Compiler.getPreprocessor())); + const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { + PP->addPPCallbacks( + ::llvm::make_unique<RedundantPreprocessorCallbacks>(*this, *PP)); } } // namespace readability diff --git a/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.h b/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.h index cb70ac7c64f..4be8b94f01f 100644 --- a/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.h +++ b/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.h @@ -24,7 +24,8 @@ class RedundantPreprocessorCheck : public ClangTidyCheck { public: RedundantPreprocessorCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context) {} - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; }; } // namespace readability diff --git a/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp b/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp index cc56b3f504e..366d7d42588 100644 --- a/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp +++ b/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp @@ -266,10 +266,10 @@ private: }; } // namespace -void HeaderGuardCheck::registerPPCallbacks(CompilerInstance &Compiler) { - Compiler.getPreprocessor().addPPCallbacks( - llvm::make_unique<HeaderGuardPPCallbacks>(&Compiler.getPreprocessor(), - this)); +void HeaderGuardCheck::registerPPCallbacks(const SourceManager &SM, + Preprocessor *PP, + Preprocessor *ModuleExpanderPP) { + PP->addPPCallbacks(llvm::make_unique<HeaderGuardPPCallbacks>(PP, this)); } bool HeaderGuardCheck::shouldSuggestEndifComment(StringRef FileName) { diff --git a/clang-tools-extra/clang-tidy/utils/HeaderGuard.h b/clang-tools-extra/clang-tidy/utils/HeaderGuard.h index f2062e528e6..8ece3311beb 100644 --- a/clang-tools-extra/clang-tidy/utils/HeaderGuard.h +++ b/clang-tools-extra/clang-tidy/utils/HeaderGuard.h @@ -32,7 +32,8 @@ public: utils::parseHeaderFileExtensions(RawStringHeaderFileExtensions, HeaderFileExtensions, ','); } - void registerPPCallbacks(CompilerInstance &Compiler) override; + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override; /// Returns ``true`` if the check should suggest inserting a trailing comment /// on the ``#endif`` of the header guard. It will use the same name as diff --git a/clang-tools-extra/clang-tidy/utils/IncludeInserter.h b/clang-tools-extra/clang-tidy/utils/IncludeInserter.h index a56b5ab5ae0..36c16aca459 100644 --- a/clang-tools-extra/clang-tidy/utils/IncludeInserter.h +++ b/clang-tools-extra/clang-tidy/utils/IncludeInserter.h @@ -31,11 +31,11 @@ namespace utils { /// /// class MyCheck : public ClangTidyCheck { /// public: -/// void registerPPCallbacks(CompilerInstance& Compiler) override { -/// Inserter = llvm::make_unique<IncludeInserter>(&Compiler.getSourceManager(), -/// &Compiler.getLangOpts()); -/// Compiler.getPreprocessor().addPPCallbacks( -/// Inserter->CreatePPCallbacks()); +/// void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, +/// Preprocessor *ModuleExpanderPP) override { +/// Inserter = llvm::make_unique<IncludeInserter>( +/// SM, getLangOpts(), utils::IncludeSorter::IS_Google); +/// PP->addPPCallbacks(Inserter->CreatePPCallbacks()); /// } /// /// void registerMatchers(ast_matchers::MatchFinder* Finder) override { ... } diff --git a/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h b/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h index ca886e4223b..25409d4ca0c 100644 --- a/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h +++ b/clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h @@ -39,9 +39,11 @@ private: Context.setCurrentFile(File); Context.setASTContext(&Compiler.getASTContext()); + Preprocessor *PP = &Compiler.getPreprocessor(); for (auto &Check : Checks) { Check->registerMatchers(&Finder); Check->registerPPCallbacks(Compiler); + Check->registerPPCallbacks(Compiler.getSourceManager(), PP, PP); } return Finder.newASTConsumer(); } diff --git a/clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp b/clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp index bf9a35055ac..89b25671374 100644 --- a/clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp +++ b/clang-tools-extra/unittests/clang-tidy/IncludeInserterTest.cpp @@ -31,12 +31,11 @@ public: IncludeInserterCheckBase(StringRef CheckName, ClangTidyContext *Context) : ClangTidyCheck(CheckName, Context) {} - void registerPPCallbacks(CompilerInstance &Compiler) override { - Inserter.reset(new utils::IncludeInserter( - Compiler.getSourceManager(), - Compiler.getLangOpts(), - utils::IncludeSorter::IS_Google)); - Compiler.getPreprocessor().addPPCallbacks(Inserter->CreatePPCallbacks()); + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, + Preprocessor *ModuleExpanderPP) override { + Inserter = llvm::make_unique<utils::IncludeInserter>( + SM, getLangOpts(), utils::IncludeSorter::IS_Google); + PP->addPPCallbacks(Inserter->CreatePPCallbacks()); } void registerMatchers(ast_matchers::MatchFinder *Finder) override { |

