https://github.com/Purna-Chandra-4706 updated https://github.com/llvm/llvm-project/pull/220221
>From f234a3e4dfcd80b236f52d157ffbd7ff21ca2d32 Mon Sep 17 00:00:00 2001 From: Purna-Chandra-4706 <[email protected]> Date: Tue, 1 Sep 2026 16:41:12 +0530 Subject: [PATCH] [clang-tidy] Fix crash in readability-identifier-naming --- .../clang-tidy/readability/IdentifierNamingCheck.cpp | 2 +- clang-tools-extra/docs/ReleaseNotes.md | 2 ++ .../clang-tidy/checkers/readability/identifier-naming.cpp | 8 ++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp index 50644bbf37bce..54cb140b12e80 100644 --- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp @@ -1259,7 +1259,7 @@ StyleKind IdentifierNamingCheck::findStyleKind( // necessary even if it's not an override. e.g. CRTP. for (const CXXBaseSpecifier &Base : Decl->getParent()->bases()) if (const auto *RD = Base.getType()->getAsCXXRecordDecl(); - RD && RD->hasMemberName(Decl->getDeclName())) + RD && RD->hasDefinition() && RD->hasMemberName(Decl->getDeclName())) return SK_Invalid; if (Decl->isConstexpr() && NamingStyles[SK_ConstexprMethod]) diff --git a/clang-tools-extra/docs/ReleaseNotes.md b/clang-tools-extra/docs/ReleaseNotes.md index 420b7ddce20e6..33c06007e84b0 100644 --- a/clang-tools-extra/docs/ReleaseNotes.md +++ b/clang-tools-extra/docs/ReleaseNotes.md @@ -200,6 +200,8 @@ infrastructure are described first, followed by tool-specific sections. - Improved {doc}`readability-identifier-naming <clang-tidy/checks/readability/identifier-naming>` check: + - Fixed a crash when a class inherits from a forward-declared base class. + - Fixed a crash when checking forward-declared classes with {option}`DefaultHungarianPrefix` enabled. 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 f0a72ee31bc21..dabb80205bddf 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 @@ -834,3 +834,11 @@ Some_struct g_s1{ .SomeMember = 1 }; // CHECK-FIXES: Some_struct g_s1{ .some_member = 1 }; Some_struct g_s2{.SomeMember=1}; // CHECK-FIXES: Some_struct g_s2{.some_member=1}; + +template<class t_t> +struct X { + struct B; + struct A : public B { + virtual void v_Foo() { } + }; +}; _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
