[clang-tools-extra] [clang-tidy][readability-identifier-naming] Support namespace aliases (PR #112112)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Oct 12 17:06:25 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-tidy
Author: Keith Smiley (keith)
<details>
<summary>Changes</summary>
Fixes: https://github.com/llvm/llvm-project/issues/109385
---
Full diff: https://github.com/llvm/llvm-project/pull/112112.diff
2 Files Affected:
- (modified) clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp (+3)
- (modified) clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp (+4)
``````````diff
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
``````````
</details>
https://github.com/llvm/llvm-project/pull/112112
More information about the cfe-commits
mailing list