[clang-tools-extra] [clang-tidy] Add more constexpr options to `readability-identifier-naming` (PR #162160)

Alex White via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 6 14:08:03 PDT 2025


https://github.com/MilkeeyCat created https://github.com/llvm/llvm-project/pull/162160

I added new options as mentioned in the issue, do you think there should also be one more option for constexpr class member?

closes #54110

>From b5c241daf5e9eac38bcac3451dcdf8f59a992af2 Mon Sep 17 00:00:00 2001
From: MilkeeyCat <milkeeycat at gmail.com>
Date: Mon, 6 Oct 2025 22:38:59 +0300
Subject: [PATCH] [clang-tidy] Add more constexpr options to
 `readability-identifier-naming`

---
 .../readability/IdentifierNamingCheck.cpp      | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index 5178bee5c3374..1b6f7117ddc4d 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -83,14 +83,17 @@ namespace readability {
     m(Member) \
     m(ClassConstant) \
     m(ClassMember) \
+    m(ConstexprGlobalVariable) \
     m(GlobalConstant) \
     m(GlobalConstantPointer) \
     m(GlobalPointer) \
     m(GlobalVariable) \
+    m(ConstexprLocalVariable) \
     m(LocalConstant) \
     m(LocalConstantPointer) \
     m(LocalPointer) \
     m(LocalVariable) \
+    m(ConstexprStaticVariable) \
     m(StaticConstant) \
     m(StaticVariable) \
     m(Constant) \
@@ -1497,8 +1500,19 @@ StyleKind IdentifierNamingCheck::findStyleKindForField(
 StyleKind IdentifierNamingCheck::findStyleKindForVar(
     const VarDecl *Var, QualType Type,
     ArrayRef<std::optional<NamingStyle>> NamingStyles) const {
-  if (Var->isConstexpr() && NamingStyles[SK_ConstexprVariable])
-    return SK_ConstexprVariable;
+  if (Var->isConstexpr()) {
+    if (Var->isFileVarDecl() && NamingStyles[SK_ConstexprGlobalVariable])
+      return SK_ConstexprGlobalVariable;
+
+    if (Var->isStaticLocal() && NamingStyles[SK_ConstexprStaticVariable])
+      return SK_ConstexprStaticVariable;
+
+    if (Var->isLocalVarDecl() && NamingStyles[SK_ConstexprLocalVariable])
+      return SK_ConstexprLocalVariable;
+
+    if (NamingStyles[SK_ConstexprVariable])
+      return SK_ConstexprVariable;
+  }
 
   if (!Type.isNull() && Type.isConstQualified()) {
     if (Var->isStaticDataMember() && NamingStyles[SK_ClassConstant])



More information about the cfe-commits mailing list