https://github.com/localspook created https://github.com/llvm/llvm-project/pull/147301
```cpp static const char *AnalyzerCheckNamePrefix = "clang-analyzer-"; ``` Right now, `AnalyzerCheckNamePrefix` is global mutable state. Probably not what was intended! >From e7b9da97611b272aae38ab3e4c7ed4113fec1728 Mon Sep 17 00:00:00 2001 From: Victor Chernyakin <chernyakin.victo...@outlook.com> Date: Mon, 7 Jul 2025 06:34:02 -0700 Subject: [PATCH] [clang-tidy][NFC] Make global variable constexpr --- clang-tools-extra/clang-tidy/ClangTidy.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/clang-tools-extra/clang-tidy/ClangTidy.cpp b/clang-tools-extra/clang-tidy/ClangTidy.cpp index f4ab93b51f4a7..c24e339d3628d 100644 --- a/clang-tools-extra/clang-tidy/ClangTidy.cpp +++ b/clang-tools-extra/clang-tidy/ClangTidy.cpp @@ -55,7 +55,8 @@ namespace clang::tidy { namespace { #if CLANG_TIDY_ENABLE_STATIC_ANALYZER -static const char *AnalyzerCheckNamePrefix = "clang-analyzer-"; +static constexpr llvm::StringLiteral AnalyzerCheckNamePrefix = + "clang-analyzer-"; class AnalyzerDiagnosticConsumer : public ento::PathDiagnosticConsumer { public: @@ -351,10 +352,9 @@ ClangTidyASTConsumerFactory::ClangTidyASTConsumerFactory( static void setStaticAnalyzerCheckerOpts(const ClangTidyOptions &Opts, clang::AnalyzerOptions &AnalyzerOptions) { - StringRef AnalyzerPrefix(AnalyzerCheckNamePrefix); for (const auto &Opt : Opts.CheckOptions) { StringRef OptName(Opt.getKey()); - if (!OptName.consume_front(AnalyzerPrefix)) + if (!OptName.consume_front(AnalyzerCheckNamePrefix)) continue; // Analyzer options are always local options so we can ignore priority. AnalyzerOptions.Config[OptName] = Opt.getValue().Value; @@ -476,7 +476,7 @@ std::vector<std::string> ClangTidyASTConsumerFactory::getCheckNames() { #if CLANG_TIDY_ENABLE_STATIC_ANALYZER for (const auto &AnalyzerCheck : getAnalyzerCheckersAndPackages( Context, Context.canEnableAnalyzerAlphaCheckers())) - CheckNames.push_back(AnalyzerCheckNamePrefix + AnalyzerCheck.first); + CheckNames.emplace_back(AnalyzerCheckNamePrefix + AnalyzerCheck.first); #endif // CLANG_TIDY_ENABLE_STATIC_ANALYZER llvm::sort(CheckNames); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits