[clang-tools-extra] [clang-tidy][readability-identifier-naming] Support namespace aliases (PR #112112)

Keith Smiley via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 14 09:33:11 PDT 2024


https://github.com/keith updated https://github.com/llvm/llvm-project/pull/112112

>From b74b4fec46c871c5981422a7779fdf39c215487c Mon Sep 17 00:00:00 2001
From: Keith Smiley <keithbsmiley at gmail.com>
Date: Sat, 12 Oct 2024 13:38:36 -0700
Subject: [PATCH 1/3] [clang-tidy][readability-identifier-naming] Support
 namespace aliases

Fixes: https://github.com/llvm/llvm-project/issues/109385
---
 .../clang-tidy/readability/IdentifierNamingCheck.cpp          | 3 +++
 .../clang-tidy/checkers/readability/identifier-naming.cpp     | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index 828f13805a6980..3f63eec2c51a8c 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -1135,6 +1135,9 @@ StyleKind IdentifierNamingCheck::findStyleKind(
   if (isa<TypeAliasDecl>(D) && NamingStyles[SK_TypeAlias])
     return SK_TypeAlias;
 
+  if (isa<NamespaceAliasDecl>(D) && NamingStyles[SK_Namespace])
+    return SK_Namespace;
+
   if (const auto *Decl = dyn_cast<NamespaceDecl>(D)) {
     if (Decl->isAnonymousNamespace())
       return SK_Invalid;
diff --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
index 99149fe86aceec..be5ba54513c672 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
@@ -101,6 +101,10 @@ inline namespace InlineNamespace {
 // CHECK-MESSAGES: :[[@LINE-1]]:18: warning: invalid case style for inline namespace 'InlineNamespace'
 // CHECK-FIXES: {{^}}inline namespace inline_namespace {{{$}}
 
+namespace FOO_ALIAS = FOO_NS;
+// CHECK-MESSAGES: :[[@LINE-1]]:11: warning: invalid case style for namespace 'FOO_ALIAS' [readability-identifier-naming]
+// CHECK-FIXES: {{^}}namespace foo_alias = FOO_NS;{{$}}
+
 SYSTEM_NS::structure g_s1;
 // NO warnings or fixes expected as SYSTEM_NS and structure are declared in a header file
 

>From ca2c8fedbe72d574bbd8ad2a10777e583efdc2b7 Mon Sep 17 00:00:00 2001
From: Keith Smiley <keithbsmiley at gmail.com>
Date: Mon, 14 Oct 2024 09:32:12 -0700
Subject: [PATCH 2/3] doc

---
 clang-tools-extra/docs/ReleaseNotes.rst | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst
index 8655331dfc00e4..ed0b6fbc04b89e 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -242,6 +242,10 @@ Changes in existing checks
   <clang-tidy/checks/readability/redundant-smartptr-get>` check to
   remove `->`, when redundant `get()` is removed.
 
+- Improved :doc:`readability-readability-identifier-naming
+  <clang-tidy/checks/readability/readability-identifier-naming>` check support
+  ``namespace`` aliases.
+
 Removed checks
 ^^^^^^^^^^^^^^
 

>From 35598de698378662d04a36527d50d19fe536a294 Mon Sep 17 00:00:00 2001
From: Keith Smiley <keithbsmiley at gmail.com>
Date: Mon, 14 Oct 2024 09:32:56 -0700
Subject: [PATCH 3/3] dup

---
 clang-tools-extra/docs/ReleaseNotes.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst
index ed0b6fbc04b89e..cb7348b1e50d47 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -242,7 +242,7 @@ Changes in existing checks
   <clang-tidy/checks/readability/redundant-smartptr-get>` check to
   remove `->`, when redundant `get()` is removed.
 
-- Improved :doc:`readability-readability-identifier-naming
+- Improved :doc:`readability-identifier-naming
   <clang-tidy/checks/readability/readability-identifier-naming>` check support
   ``namespace`` aliases.
 



More information about the cfe-commits mailing list