diff --git a/clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp --- a/clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp @@ -30,8 +30,7 @@ TooSmallLoopVariableCheck::TooSmallLoopVariableCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), - MagnitudeBitsUpperLimit(Options.get( - "MagnitudeBitsUpperLimit", 16)) {} + MagnitudeBitsUpperLimit(Options.get("MagnitudeBitsUpperLimit", 16U)) {} void TooSmallLoopVariableCheck::storeOptions( ClangTidyOptions::OptionMap &Opts) { diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.h b/clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.h --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.h +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.h @@ -24,6 +24,7 @@ class InitVariablesCheck : public ClangTidyCheck { public: InitVariablesCheck(StringRef Name, ClangTidyContext *Context); + void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override; diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp @@ -29,6 +29,12 @@ utils::IncludeSorter::IS_LLVM)), MathHeader(Options.get("MathHeader", "math.h")) {} +void InitVariablesCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { + Options.store(Opts, "IncludeStyle", IncludeStyle, + utils::IncludeSorter::getMapping()); + Options.store(Opts, "MathHeader", MathHeader); +} + void InitVariablesCheck::registerMatchers(MatchFinder *Finder) { std::string BadDecl = "badDecl"; Finder->addMatcher( @@ -102,7 +108,6 @@ } } } - } // namespace cppcoreguidelines } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h b/clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h @@ -25,6 +25,8 @@ public: NarrowingConversionsCheck(StringRef Name, ClangTidyContext *Context); + 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/cppcoreguidelines/NarrowingConversionsCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp @@ -29,6 +29,13 @@ Options.get("WarnOnFloatingPointNarrowingConversion", true)), PedanticMode(Options.get("PedanticMode", false)) {} +void NarrowingConversionsCheck::storeOptions( + ClangTidyOptions::OptionMap &Opts) { + Options.store(Opts, "WarnOnFloatingPointNarrowingConversion", + WarnOnFloatingPointNarrowingConversion); + Options.store(Opts, "PedanticMode", PedanticMode); +} + void NarrowingConversionsCheck::registerMatchers(MatchFinder *Finder) { // ceil() and floor() are guaranteed to return integers, even though the type // is not integral. @@ -442,7 +449,6 @@ return handleImplicitCast(*Result.Context, *Cast); llvm_unreachable("must be binary operator or cast expression"); } - } // namespace cppcoreguidelines } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.h b/clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.h --- a/clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.h +++ b/clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.h @@ -33,6 +33,7 @@ bool isLanguageVersionSupported(const LangOptions &LangOpts) const override { return LangOpts.CPlusPlus; } + 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/misc/NonPrivateMemberVariablesInClassesCheck.cpp b/clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.cpp --- a/clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.cpp @@ -48,6 +48,14 @@ IgnorePublicMemberVariables( Options.get("IgnorePublicMemberVariables", false)) {} +void NonPrivateMemberVariablesInClassesCheck::storeOptions( + ClangTidyOptions::OptionMap &Opts) { + Options.store(Opts, "IgnoreClassesWithAllMemberVariablesBeingPublic", + IgnoreClassesWithAllMemberVariablesBeingPublic); + Options.store(Opts, "IgnorePublicMemberVariables", + IgnorePublicMemberVariables); +} + void NonPrivateMemberVariablesInClassesCheck::registerMatchers( MatchFinder *Finder) { // We can ignore structs/classes with all member variables being public. diff --git a/clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h b/clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h --- a/clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h +++ b/clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h @@ -45,6 +45,7 @@ bool isFunctionOrCatchVar(const DeclRefExpr *declRefExpr); const bool CheckAnonymousTemporaries; const bool WarnOnLargeObject; + const uint64_t MaxSizeOptions; // The raw value read from the options. uint64_t MaxSize; // No `const` because we have to set it in two steps. }; diff --git a/clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp b/clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp --- a/clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp +++ b/clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp @@ -23,7 +23,9 @@ CheckAnonymousTemporaries(Options.get("CheckThrowTemporaries", true)), WarnOnLargeObject(Options.get("WarnOnLargeObject", false)), // Cannot access `ASTContext` from here so set it to an extremal value. - MaxSize(Options.get("MaxSize", std::numeric_limits::max())) {} + MaxSizeOptions( + Options.get("MaxSize", std::numeric_limits::max())), + MaxSize(MaxSizeOptions) {} void ThrowByValueCatchByReferenceCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher(cxxThrowExpr().bind("throw"), this); @@ -33,6 +35,8 @@ void ThrowByValueCatchByReferenceCheck::storeOptions( ClangTidyOptions::OptionMap &Opts) { Options.store(Opts, "CheckThrowTemporaries", true); + Options.store(Opts, "WarnOnLargeObjects", WarnOnLargeObject); + Options.store(Opts, "MaxSize", MaxSizeOptions); } void ThrowByValueCatchByReferenceCheck::check( diff --git a/clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.h b/clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.h --- a/clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.h +++ b/clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.h @@ -27,6 +27,7 @@ bool isLanguageVersionSupported(const LangOptions &LangOpts) const override { return LangOpts.CPlusPlus14; } + 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/modernize/AvoidBindCheck.cpp b/clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp @@ -578,6 +578,10 @@ : ClangTidyCheck(Name, Context), PermissiveParameterList(Options.get("PermissiveParameterList", false)) {} +void AvoidBindCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { + Options.store(Opts, "PermissiveParameterList", PermissiveParameterList); +} + void AvoidBindCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( callExpr( diff --git a/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp b/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp @@ -476,7 +476,7 @@ LoopConvertCheck::LoopConvertCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), TUInfo(new TUTrackingInfo), - MaxCopySize(std::stoull(Options.get("MaxCopySize", "16"))), + MaxCopySize(Options.get("MaxCopySize", 16ULL)), MinConfidence(Options.get("MinConfidence", getConfidenceMapping(), Confidence::CL_Reasonable)), NamingStyle(Options.get("NamingStyle", getStyleMapping(), diff --git a/clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp b/clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp @@ -111,10 +111,9 @@ DisallowedChars.set(static_cast(C)); } -void RawStringLiteralCheck::storeOptions(ClangTidyOptions::OptionMap &Options) { - ClangTidyCheck::storeOptions(Options); - this->Options.store(Options, "ReplaceShorterLiterals", - ReplaceShorterLiterals); +void RawStringLiteralCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { + Options.store(Opts, "DelimiterStem", DelimiterStem); + Options.store(Opts, "ReplaceShorterLiterals", ReplaceShorterLiterals); } void RawStringLiteralCheck::registerMatchers(MatchFinder *Finder) { diff --git a/clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp @@ -321,7 +321,7 @@ void UseAutoCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { Options.store(Opts, "MinTypeNameLength", MinTypeNameLength); - Options.store(Opts, "RemoveStars", RemoveStars ? 1 : 0); + Options.store(Opts, "RemoveStars", RemoveStars); } void UseAutoCheck::registerMatchers(MatchFinder *Finder) { diff --git a/clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.h b/clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.h --- a/clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.h +++ b/clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.h @@ -25,6 +25,7 @@ bool isLanguageVersionSupported(const LangOptions &LangOpts) const override { return LangOpts.CPlusPlus; } + 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/modernize/UseBoolLiteralsCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp @@ -22,6 +22,10 @@ : ClangTidyCheck(Name, Context), IgnoreMacros(Options.getLocalOrGlobal("IgnoreMacros", true)) {} +void UseBoolLiteralsCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { + Options.store(Opts, "IgnoreMacros", IgnoreMacros); +} + void UseBoolLiteralsCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( traverse( diff --git a/clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp @@ -160,6 +160,7 @@ } void UseEmplaceCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { + Options.store(Opts, "IgnoreImplicitConstructors", IgnoreImplicitConstructors); Options.store(Opts, "ContainersWithPushBack", utils::options::serializeStringList(ContainersWithPushBack)); Options.store(Opts, "SmartPointers", diff --git a/clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp @@ -22,7 +22,7 @@ void UseTransparentFunctorsCheck::storeOptions( ClangTidyOptions::OptionMap &Opts) { - Options.store(Opts, "SafeMode", SafeMode ? 1 : 0); + Options.store(Opts, "SafeMode", SafeMode); } void UseTransparentFunctorsCheck::registerMatchers(MatchFinder *Finder) { diff --git a/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h b/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h --- a/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h +++ b/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h @@ -32,9 +32,7 @@ bool isLanguageVersionSupported(const LangOptions &LangOpts) const override { return LangOpts.CPlusPlus11; } - void storeOptions(ClangTidyOptions::OptionMap &Opts) override { - Options.store(Opts, "IgnoreMacros", IgnoreMacros); - } + 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/modernize/UseUsingCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp --- a/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp @@ -20,6 +20,10 @@ : ClangTidyCheck(Name, Context), IgnoreMacros(Options.getLocalOrGlobal("IgnoreMacros", true)) {} +void UseUsingCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { + Options.store(Opts, "IgnoreMacros", IgnoreMacros); +} + void UseUsingCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher(typedefDecl(unless(isInstantiated())).bind("typedef"), this); @@ -111,7 +115,6 @@ std::string Replacement = Using + Name + " = " + Type; Diag << FixItHint::CreateReplacement(ReplaceRange, Replacement); } - } // namespace modernize } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h --- a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h +++ b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h @@ -86,6 +86,8 @@ const bool IgnoreAllFloatingPointValues; const bool IgnoreBitFieldsWidths; const bool IgnorePowersOf2IntegerValues; + const std::string RawIgnoredIntegerValues; + const std::string RawIgnoredFloatingPointValues; constexpr static unsigned SensibleNumberOfMagicValueExceptions = 16; diff --git a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp @@ -67,11 +67,14 @@ Options.get("IgnoreAllFloatingPointValues", false)), IgnoreBitFieldsWidths(Options.get("IgnoreBitFieldsWidths", true)), IgnorePowersOf2IntegerValues( - Options.get("IgnorePowersOf2IntegerValues", false)) { + Options.get("IgnorePowersOf2IntegerValues", false)), + RawIgnoredIntegerValues( + Options.get("IgnoredIntegerValues", DefaultIgnoredIntegerValues)), + RawIgnoredFloatingPointValues(Options.get( + "IgnoredFloatingPointValues", DefaultIgnoredFloatingPointValues)) { // Process the set of ignored integer values. const std::vector IgnoredIntegerValuesInput = - utils::options::parseStringList( - Options.get("IgnoredIntegerValues", DefaultIgnoredIntegerValues)); + utils::options::parseStringList(RawIgnoredIntegerValues); IgnoredIntegerValues.resize(IgnoredIntegerValuesInput.size()); llvm::transform(IgnoredIntegerValuesInput, IgnoredIntegerValues.begin(), [](const std::string &Value) { return std::stoll(Value); }); @@ -80,8 +83,7 @@ if (!IgnoreAllFloatingPointValues) { // Process the set of ignored floating point values. const std::vector IgnoredFloatingPointValuesInput = - utils::options::parseStringList(Options.get( - "IgnoredFloatingPointValues", DefaultIgnoredFloatingPointValues)); + utils::options::parseStringList(RawIgnoredFloatingPointValues); IgnoredFloatingPointValues.reserve(IgnoredFloatingPointValuesInput.size()); IgnoredDoublePointValues.reserve(IgnoredFloatingPointValuesInput.size()); for (const auto &InputValue : IgnoredFloatingPointValuesInput) { @@ -107,9 +109,14 @@ } void MagicNumbersCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { - Options.store(Opts, "IgnoredIntegerValues", DefaultIgnoredIntegerValues); + Options.store(Opts, "IgnoreAllFloatingPointValues", + IgnoreAllFloatingPointValues); + Options.store(Opts, "IgnoreBitFieldsWidths", IgnoreBitFieldsWidths); + Options.store(Opts, "IgnorePowersOf2IntegerValues", + IgnorePowersOf2IntegerValues); + Options.store(Opts, "IgnoredIntegerValues", RawIgnoredIntegerValues); Options.store(Opts, "IgnoredFloatingPointValues", - DefaultIgnoredFloatingPointValues); + RawIgnoredFloatingPointValues); } void MagicNumbersCheck::registerMatchers(MatchFinder *Finder) { diff --git a/clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.h b/clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.h --- a/clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.h +++ b/clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.h @@ -22,6 +22,7 @@ class RedundantDeclarationCheck : public ClangTidyCheck { public: RedundantDeclarationCheck(StringRef Name, ClangTidyContext *Context); + 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/readability/RedundantDeclarationCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp --- a/clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp @@ -26,6 +26,11 @@ : ClangTidyCheck(Name, Context), IgnoreMacros(Options.getLocalOrGlobal("IgnoreMacros", true)) {} +void RedundantDeclarationCheck::storeOptions( + ClangTidyOptions::OptionMap &Opts) { + Options.store(Opts, "IgnoreMacros", IgnoreMacros); +} + void RedundantDeclarationCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( namedDecl(anyOf(varDecl(unless(isDefinition())), @@ -81,7 +86,6 @@ } diag(Prev->getLocation(), "previously declared here", DiagnosticIDs::Note); } - } // namespace readability } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.h b/clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.h --- a/clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.h +++ b/clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.h @@ -25,7 +25,7 @@ StaticAccessedThroughInstanceCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), NameSpecifierNestingThreshold( - Options.get("NameSpecifierNestingThreshold", 3)) {} + Options.get("NameSpecifierNestingThreshold", 3U)) {} void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override; diff --git a/clang-tools-extra/clang-tidy/utils/HeaderGuard.h b/clang-tools-extra/clang-tidy/utils/HeaderGuard.h --- a/clang-tools-extra/clang-tidy/utils/HeaderGuard.h +++ b/clang-tools-extra/clang-tidy/utils/HeaderGuard.h @@ -34,6 +34,7 @@ HeaderFileExtensions, utils::defaultFileExtensionDelimiters()); } + void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) override; diff --git a/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp b/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp --- a/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp +++ b/clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp @@ -266,6 +266,10 @@ }; } // namespace +void HeaderGuardCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { + Options.store(Opts, "HeaderFileExtensions", RawStringHeaderFileExtensions); +} + void HeaderGuardCheck::registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { @@ -285,7 +289,6 @@ std::string HeaderGuardCheck::formatEndIf(StringRef HeaderGuard) { return "endif // " + HeaderGuard.str(); } - } // namespace utils } // namespace tidy } // namespace clang