github-actions[bot] wrote: <!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning: <details> <summary> You can test this locally with the following command: </summary> ``````````bash git-clang-format --diff 5f15c1776a462940464743dbc9e82c46fe7e14aa 80694ad203d0d37cd8d186d823bb536c921ae9bf --extensions c,cpp,h -- clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions-custom-regex.cpp clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions-custom.c clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.h clang-tools-extra/clang-tidy/utils/Matchers.h clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions.c `````````` </details> <details> <summary> View the diff from clang-format here. </summary> ``````````diff diff --git a/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp index 8d9ffda04a..c2f23c309f 100644 --- a/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp @@ -34,8 +34,10 @@ static constexpr llvm::StringLiteral FunctionNamesWithAnnexKReplacementId = static constexpr llvm::StringLiteral FunctionNamesId = "FunctionsNames"; static constexpr llvm::StringLiteral AdditionalFunctionNamesId = "AdditionalFunctionsNames"; -static constexpr llvm::StringLiteral CustomFunctionNamesId = "CustomFunctionNames"; -static constexpr llvm::StringLiteral CustomAnnexKFunctionNamesId = "CustomAnnexKFunctionNames"; +static constexpr llvm::StringLiteral CustomFunctionNamesId = + "CustomFunctionNames"; +static constexpr llvm::StringLiteral CustomAnnexKFunctionNamesId = + "CustomAnnexKFunctionNames"; static constexpr llvm::StringLiteral DeclRefId = "DRE"; static std::optional<std::string> @@ -138,7 +140,7 @@ static bool isAnnexKAvailable(std::optional<bool> &CacheVar, Preprocessor *PP, } static std::vector<UnsafeFunctionsCheck::CheckedFunction> -ParseCheckedFunctions(StringRef Option, StringRef OptionName, +ParseCheckedFunctions(StringRef Option, StringRef OptionName, ClangTidyContext *Context) { std::vector<StringRef> Functions = utils::options::parseStringList(Option); std::vector<UnsafeFunctionsCheck::CheckedFunction> Result; @@ -153,19 +155,22 @@ ParseCheckedFunctions(StringRef Option, StringRef OptionName, auto [Replacement, Reason] = Rest.split(','); if (Name.trim().empty()) { - Context->configurationDiag( - "invalid configuration value for option '%0'; " - "expected the name of an unsafe function") << OptionName; + Context->configurationDiag("invalid configuration value for option '%0'; " + "expected the name of an unsafe function") + << OptionName; } if (Replacement.trim().empty()) { Context->configurationDiag( - "invalid configuration value '%0' for option '%1'; " - "expected a replacement function name") << Name.trim() << OptionName; + "invalid configuration value '%0' for option '%1'; " + "expected a replacement function name") + << Name.trim() << OptionName; } - Result.push_back({ Name.trim().str(), matchers::MatchesAnyListedNameMatcher::NameMatcher(Name.trim()), - Replacement.trim().str(), Reason.trim().str() }); + Result.push_back( + {Name.trim().str(), + matchers::MatchesAnyListedNameMatcher::NameMatcher(Name.trim()), + Replacement.trim().str(), Reason.trim().str()}); } return Result; @@ -196,14 +201,15 @@ UnsafeFunctionsCheck::UnsafeFunctionsCheck(StringRef Name, CustomAnnexKFunctions(ParseCheckedFunctions( Options.get(OptionNameCustomAnnexKFunctions, ""), OptionNameCustomAnnexKFunctions, Context)), - ReportDefaultFunctions(Options.get(OptionNameReportDefaultFunctions, true)), + ReportDefaultFunctions( + Options.get(OptionNameReportDefaultFunctions, true)), ReportMoreUnsafeFunctions( Options.get(OptionNameReportMoreUnsafeFunctions, true)) {} void UnsafeFunctionsCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { - Options.store(Opts, OptionNameCustomNormalFunctions, + Options.store(Opts, OptionNameCustomNormalFunctions, SerializeCheckedFunctions(CustomNormalFunctions)); - Options.store(Opts, OptionNameCustomAnnexKFunctions, + Options.store(Opts, OptionNameCustomAnnexKFunctions, SerializeCheckedFunctions(CustomAnnexKFunctions)); Options.store(Opts, OptionNameReportDefaultFunctions, ReportDefaultFunctions); Options.store(Opts, OptionNameReportMoreUnsafeFunctions, @@ -215,33 +221,34 @@ void UnsafeFunctionsCheck::registerMatchers(MatchFinder *Finder) { if (getLangOpts().C11) { // Matching functions with safe replacements only in Annex K. auto FunctionNamesWithAnnexKReplacementMatcher = hasAnyName( - "::bsearch", "::ctime", "::fopen", "::fprintf", "::freopen", "::fscanf", - "::fwprintf", "::fwscanf", "::getenv", "::gmtime", "::localtime", - "::mbsrtowcs", "::mbstowcs", "::memcpy", "::memmove", "::memset", - "::printf", "::qsort", "::scanf", "::snprintf", "::sprintf", "::sscanf", - "::strcat", "::strcpy", "::strerror", "::strlen", "::strncat", - "::strncpy", "::strtok", "::swprintf", "::swscanf", "::vfprintf", - "::vfscanf", "::vfwprintf", "::vfwscanf", "::vprintf", "::vscanf", - "::vsnprintf", "::vsprintf", "::vsscanf", "::vswprintf", "::vswscanf", - "::vwprintf", "::vwscanf", "::wcrtomb", "::wcscat", "::wcscpy", - "::wcslen", "::wcsncat", "::wcsncpy", "::wcsrtombs", "::wcstok", - "::wcstombs", "::wctomb", "::wmemcpy", "::wmemmove", "::wprintf", - "::wscanf"); + "::bsearch", "::ctime", "::fopen", "::fprintf", "::freopen", + "::fscanf", "::fwprintf", "::fwscanf", "::getenv", "::gmtime", + "::localtime", "::mbsrtowcs", "::mbstowcs", "::memcpy", "::memmove", + "::memset", "::printf", "::qsort", "::scanf", "::snprintf", + "::sprintf", "::sscanf", "::strcat", "::strcpy", "::strerror", + "::strlen", "::strncat", "::strncpy", "::strtok", "::swprintf", + "::swscanf", "::vfprintf", "::vfscanf", "::vfwprintf", "::vfwscanf", + "::vprintf", "::vscanf", "::vsnprintf", "::vsprintf", "::vsscanf", + "::vswprintf", "::vswscanf", "::vwprintf", "::vwscanf", "::wcrtomb", + "::wcscat", "::wcscpy", "::wcslen", "::wcsncat", "::wcsncpy", + "::wcsrtombs", "::wcstok", "::wcstombs", "::wctomb", "::wmemcpy", + "::wmemmove", "::wprintf", "::wscanf"); Finder->addMatcher( declRefExpr(to(functionDecl(FunctionNamesWithAnnexKReplacementMatcher) .bind(FunctionNamesWithAnnexKReplacementId))) .bind(DeclRefId), this); } - + // Matching functions with replacements without Annex K. auto FunctionNamesMatcher = hasAnyName("::asctime", "asctime_r", "::gets", "::rewind", "::setbuf"); Finder->addMatcher( - declRefExpr(to(functionDecl(FunctionNamesMatcher).bind(FunctionNamesId))) + declRefExpr( + to(functionDecl(FunctionNamesMatcher).bind(FunctionNamesId))) .bind(DeclRefId), this); - + if (ReportMoreUnsafeFunctions) { // Matching functions with replacements without Annex K, at user request. auto AdditionalFunctionNamesMatcher = @@ -264,10 +271,10 @@ void UnsafeFunctionsCheck::registerMatchers(MatchFinder *Finder) { auto CustomAnnexKFunctionsMatcher = matchers::matchesAnyListedName(FunctionNames); - Finder->addMatcher( - declRefExpr(to(functionDecl(CustomAnnexKFunctionsMatcher).bind(CustomAnnexKFunctionNamesId))) - .bind(DeclRefId), - this); + Finder->addMatcher(declRefExpr(to(functionDecl(CustomAnnexKFunctionsMatcher) + .bind(CustomAnnexKFunctionNamesId))) + .bind(DeclRefId), + this); } if (!CustomNormalFunctions.empty()) { @@ -277,13 +284,12 @@ void UnsafeFunctionsCheck::registerMatchers(MatchFinder *Finder) { for (const auto &Entry : CustomNormalFunctions) FunctionNames.push_back(Entry.Name); - auto CustomFunctionsMatcher = - matchers::matchesAnyListedName(FunctionNames); + auto CustomFunctionsMatcher = matchers::matchesAnyListedName(FunctionNames); - Finder->addMatcher( - declRefExpr(to(functionDecl(CustomFunctionsMatcher).bind(CustomFunctionNamesId))) - .bind(DeclRefId), - this); + Finder->addMatcher(declRefExpr(to(functionDecl(CustomFunctionsMatcher) + .bind(CustomFunctionNamesId))) + .bind(DeclRefId), + this); } } @@ -298,12 +304,12 @@ void UnsafeFunctionsCheck::check(const MatchFinder::MatchResult &Result) { const auto *Normal = Result.Nodes.getNodeAs<FunctionDecl>(FunctionNamesId); const auto *Additional = Result.Nodes.getNodeAs<FunctionDecl>(AdditionalFunctionNamesId); - const auto *CustomAnnexK = Result.Nodes.getNodeAs<FunctionDecl>( - CustomAnnexKFunctionNamesId); - const auto *CustomNormal = Result.Nodes.getNodeAs<FunctionDecl>( - CustomFunctionNamesId); + const auto *CustomAnnexK = + Result.Nodes.getNodeAs<FunctionDecl>(CustomAnnexKFunctionNamesId); + const auto *CustomNormal = + Result.Nodes.getNodeAs<FunctionDecl>(CustomFunctionNamesId); assert((AnnexK || Normal || Additional || CustomAnnexK || CustomNormal) && - "No valid match category."); + "No valid match category."); bool AnnexKIsAvailable = isAnnexKAvailable(IsAnnexKAvailable, PP, getLangOpts()); @@ -311,11 +317,11 @@ void UnsafeFunctionsCheck::check(const MatchFinder::MatchResult &Result) { if (CustomAnnexK || CustomNormal) { const auto ShowCheckedFunctionWarning = [&](const CheckedFunction &Entry) { - StringRef Reason = Entry.Reason.empty() ? "is marked as unsafe" - : Entry.Reason.c_str(); + StringRef Reason = + Entry.Reason.empty() ? "is marked as unsafe" : Entry.Reason.c_str(); diag(DeclRef->getExprLoc(), "function %0 %1; '%2' should be used instead") - << FuncDecl << Reason - << Entry.Replacement << DeclRef->getSourceRange(); + << FuncDecl << Reason << Entry.Replacement + << DeclRef->getSourceRange(); }; if (AnnexKIsAvailable) { @@ -330,7 +336,7 @@ void UnsafeFunctionsCheck::check(const MatchFinder::MatchResult &Result) { } assert(!CustomAnnexK && "No custom Annex K function was matched."); - } + } // Annex K was not available, or the assertion failed. if (CustomAnnexK) diff --git a/clang-tools-extra/clang-tidy/utils/Matchers.h b/clang-tools-extra/clang-tidy/utils/Matchers.h index f79d872300..451c4ce925 100644 --- a/clang-tools-extra/clang-tidy/utils/Matchers.h +++ b/clang-tools-extra/clang-tidy/utils/Matchers.h @@ -137,7 +137,6 @@ public: } private: - std::vector<NameMatcher> NameMatchers; }; `````````` </details> https://github.com/llvm/llvm-project/pull/106350 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits