https://github.com/dkaszews updated 
https://github.com/llvm/llvm-project/pull/171686

>From 30a266b21a6e96441886778ab85ebff08a9f68e2 Mon Sep 17 00:00:00 2001
From: Dominik Kaszewski <[email protected]>
Date: Wed, 10 Dec 2025 20:28:57 +0100
Subject: [PATCH 1/2] Add default config

---
 .../readability/IdentifierNamingCheck.cpp     | 29 ++++++++++++-------
 .../readability/IdentifierNamingCheck.h       |  4 +++
 2 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp 
b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index 79f8437057b23..3efeade89a4c9 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -71,6 +71,7 @@ namespace readability {
 
 // clang-format off
 #define NAMING_KEYS(m) \
+    m(Default) \
     m(Namespace) \
     m(InlineNamespace) \
     m(EnumConstant) \
@@ -1162,7 +1163,7 @@ StyleKind IdentifierNamingCheck::findStyleKind(
     if (NamingStyles[SK_Constant])
       return SK_Constant;
 
-    return SK_Invalid;
+    return undefinedStyle(NamingStyles);
   }
 
   if (const auto *Decl = dyn_cast<RecordDecl>(D)) {
@@ -1194,7 +1195,7 @@ StyleKind IdentifierNamingCheck::findStyleKind(
         return SK_Enum;
     }
 
-    return SK_Invalid;
+    return undefinedStyle(NamingStyles);
   }
 
   if (const auto *Decl = dyn_cast<FieldDecl>(D)) {
@@ -1238,7 +1239,7 @@ StyleKind IdentifierNamingCheck::findStyleKind(
     if (NamingStyles[SK_Parameter])
       return SK_Parameter;
 
-    return SK_Invalid;
+    return undefinedStyle(NamingStyles);
   }
 
   if (const auto *Decl = dyn_cast<VarDecl>(D)) {
@@ -1284,7 +1285,7 @@ StyleKind IdentifierNamingCheck::findStyleKind(
     if (NamingStyles[SK_Function])
       return SK_Function;
 
-    return SK_Invalid;
+    return undefinedStyle(NamingStyles);
   }
 
   if (const auto *Decl = dyn_cast<FunctionDecl>(D)) {
@@ -1308,7 +1309,7 @@ StyleKind IdentifierNamingCheck::findStyleKind(
     if (NamingStyles[SK_TemplateParameter])
       return SK_TemplateParameter;
 
-    return SK_Invalid;
+    return undefinedStyle(NamingStyles);
   }
 
   if (isa<NonTypeTemplateParmDecl>(D)) {
@@ -1318,7 +1319,7 @@ StyleKind IdentifierNamingCheck::findStyleKind(
     if (NamingStyles[SK_TemplateParameter])
       return SK_TemplateParameter;
 
-    return SK_Invalid;
+    return undefinedStyle(NamingStyles);
   }
 
   if (isa<TemplateTemplateParmDecl>(D)) {
@@ -1328,13 +1329,13 @@ StyleKind IdentifierNamingCheck::findStyleKind(
     if (NamingStyles[SK_TemplateParameter])
       return SK_TemplateParameter;
 
-    return SK_Invalid;
+    return undefinedStyle(NamingStyles);
   }
 
   if (isa<ConceptDecl>(D) && NamingStyles[SK_Concept])
     return SK_Concept;
 
-  return SK_Invalid;
+  return undefinedStyle(NamingStyles);
 }
 
 std::optional<RenamerClangTidyCheck::FailureInfo>
@@ -1468,7 +1469,7 @@ StyleKind 
IdentifierNamingCheck::findStyleKindForAnonField(
     return findStyleKindForVar(V, Type, NamingStyles);
   }
 
-  return SK_Invalid;
+  return undefinedStyle(NamingStyles);
 }
 
 StyleKind IdentifierNamingCheck::findStyleKindForField(
@@ -1494,7 +1495,7 @@ StyleKind IdentifierNamingCheck::findStyleKindForField(
   if (NamingStyles[SK_Member])
     return SK_Member;
 
-  return SK_Invalid;
+  return undefinedStyle(NamingStyles);
 }
 
 StyleKind IdentifierNamingCheck::findStyleKindForVar(
@@ -1571,8 +1572,14 @@ StyleKind IdentifierNamingCheck::findStyleKindForVar(
   if (NamingStyles[SK_Variable])
     return SK_Variable;
 
-  return SK_Invalid;
+  return undefinedStyle(NamingStyles);
+}
+
+StyleKind IdentifierNamingCheck::undefinedStyle(
+    ArrayRef<std::optional<NamingStyle>> NamingStyles) const {
+  return NamingStyles[SK_Default] ? SK_Default : SK_Invalid;
 }
 
 } // namespace readability
 } // namespace clang::tidy
+
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h 
b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
index 0b17af88810c2..cc05333269b80 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
@@ -220,6 +220,9 @@ class IdentifierNamingCheck final : public 
RenamerClangTidyCheck {
   findStyleKindForVar(const VarDecl *Var, QualType Type,
                       ArrayRef<std::optional<NamingStyle>> NamingStyles) const;
 
+  StyleKind
+  undefinedStyle(ArrayRef<std::optional<NamingStyle>> NamingStyles) const;
+
   /// Stores the style options as a vector, indexed by the specified \ref
   /// StyleKind, for a given directory.
   mutable llvm::StringMap<FileStyle> NamingStylesCache;
@@ -241,3 +244,4 @@ struct 
OptionEnumMapping<readability::IdentifierNamingCheck::CaseType> {
 } // namespace clang::tidy
 
 #endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_READABILITY_IDENTIFIERNAMINGCHECK_H
+

>From 5dada5cefaa683092a9c1afd710e4a851dd94c38 Mon Sep 17 00:00:00 2001
From: Dominik Kaszewski <[email protected]>
Date: Wed, 10 Dec 2025 21:50:08 +0100
Subject: [PATCH 2/2] WIP tests

---
 .../identifier-naming-default-lower.cpp       | 26 +++++++++++++++++++
 .../identifier-naming-default-none.cpp        | 25 ++++++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100644 
clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-lower.cpp
 create mode 100644 
clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-none.cpp

diff --git 
a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-lower.cpp
 
b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-lower.cpp
new file mode 100644
index 0000000000000..276bc35a9be10
--- /dev/null
+++ 
b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-lower.cpp
@@ -0,0 +1,26 @@
+// RUN: %check_clang_tidy %s readability-identifier-naming %t -- \
+// RUN:   -config='{CheckOptions: { \
+// RUN:     readability-identifier-naming.DefaultCase: "lower_case" }}'
+
+int BadGlobal;
+
+int good_global;
+
+struct BadStruct {
+  int BadField;
+};
+
+struct good_struct {
+  int good_field;
+};
+
+int BadFunction(int BadParameter) {
+  int BadVariable = BadParameter;
+  return BadVariable;
+}
+
+int good_function(int good_parameter) {
+  int good_variable = good_parameter;
+  return good_variable;
+}
+
diff --git 
a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-none.cpp
 
b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-none.cpp
new file mode 100644
index 0000000000000..8e82abfa61259
--- /dev/null
+++ 
b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-none.cpp
@@ -0,0 +1,25 @@
+// RUN: %check_clang_tidy %s readability-identifier-naming %t -- \
+// RUN:   -config='{CheckOptions: {}}'
+
+int BadGlobal;
+
+int good_global;
+
+struct BadStruct {
+  int BadField;
+};
+
+struct good_struct {
+  int good_field;
+};
+
+int BadFunction(int BadParameter) {
+  int BadVariable = BadParameter;
+  return BadVariable;
+}
+
+int good_function(int good_parameter) {
+  int good_variable = good_parameter;
+  return good_variable;
+}
+

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to