aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-tidy
diff options
context:
space:
mode:
authorVictor Chernyakin <chernyakin.victor.j@outlook.com>2025-07-08 10:48:51 -0700
committerGitHub <noreply@github.com>2025-07-08 20:48:51 +0300
commit1e3f6a6c4fd8dafb208216ffcabe31fa978ca502 (patch)
treecfaff3a2614f0fcd557928c50dc9fd0b752ca152 /clang-tools-extra/clang-tidy
parente976eaf3037a1c0fe68432ae60a503bf144a1c30 (diff)
downloadllvm-1e3f6a6c4fd8dafb208216ffcabe31fa978ca502.zip
llvm-1e3f6a6c4fd8dafb208216ffcabe31fa978ca502.tar.gz
llvm-1e3f6a6c4fd8dafb208216ffcabe31fa978ca502.tar.bz2
[clang-tidy][NFC] Prefer `constexpr llvm::StringLiteral` over `const char *` (#147301)
Some of these are even global mutable state — probably not what was intended! ```cpp static const char *AnalyzerCheckNamePrefix = "clang-analyzer-"; ```
Diffstat (limited to 'clang-tools-extra/clang-tidy')
-rw-r--r--clang-tools-extra/clang-tidy/ClangTidy.cpp9
-rw-r--r--clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h4
-rw-r--r--clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp2
-rw-r--r--clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp4
-rw-r--r--clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp3
5 files changed, 12 insertions, 10 deletions
diff --git a/clang-tools-extra/clang-tidy/ClangTidy.cpp b/clang-tools-extra/clang-tidy/ClangTidy.cpp
index f4ab93b..808515c 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,8 @@ 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).str());
#endif // CLANG_TIDY_ENABLE_STATIC_ANALYZER
llvm::sort(CheckNames);
diff --git a/clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h b/clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h
index 1eef86d..2ae3c00 100644
--- a/clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h
+++ b/clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h
@@ -46,12 +46,12 @@ AST_POLYMORPHIC_MATCHER(
if (PrefixPosition == StringRef::npos)
return false;
Path = Path.drop_front(PrefixPosition + AbslPrefix.size());
- static const char *AbseilLibraries[] = {
+ static constexpr llvm::StringLiteral AbseilLibraries[] = {
"algorithm", "base", "container", "debugging", "flags",
"hash", "iterator", "memory", "meta", "numeric",
"profiling", "random", "status", "strings", "synchronization",
"time", "types", "utility"};
- return llvm::any_of(AbseilLibraries, [&](const char *Library) {
+ return llvm::any_of(AbseilLibraries, [&](llvm::StringLiteral Library) {
return Path.starts_with(Library);
});
}
diff --git a/clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
index f2746ba..1cbf1e2 100644
--- a/clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
@@ -25,7 +25,7 @@ namespace {
AST_MATCHER(CXXMethodDecl, isVirtual) { return Node.isVirtual(); }
-static const char *const ErrorMsg =
+static constexpr llvm::StringLiteral ErrorMsg =
"comparing a pointer to member virtual function with other pointer is "
"unspecified behavior, only compare it with a null-pointer constant for "
"equality.";
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
index aaaaf6b..b413b12 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
@@ -373,8 +373,8 @@ static bool isEmpty(ASTContext &Context, const QualType &Type) {
return isIncompleteOrZeroLengthArrayType(Context, Type);
}
-static const char *getInitializer(QualType QT, bool UseAssignment) {
- const char *DefaultInitializer = "{}";
+static llvm::StringLiteral getInitializer(QualType QT, bool UseAssignment) {
+ static constexpr llvm::StringLiteral DefaultInitializer = "{}";
if (!UseAssignment)
return DefaultInitializer;
diff --git a/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
index 30fcba3..936a906 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
@@ -119,7 +119,8 @@ void UseUsingCheck::check(const MatchFinder::MatchResult &Result) {
if (StartLoc.isMacroID() && IgnoreMacros)
return;
- static const char *UseUsingWarning = "use 'using' instead of 'typedef'";
+ static constexpr llvm::StringLiteral UseUsingWarning =
+ "use 'using' instead of 'typedef'";
// Warn at StartLoc but do not fix if there is macro or array.
if (MatchedDecl->getUnderlyingType()->isArrayType() || StartLoc.isMacroID()) {