Author: jbcoe Date: Thu Nov 3 08:52:09 2016 New Revision: 285907 URL: http://llvm.org/viewvc/llvm-project?rev=285907&view=rev Log: [clang-tidy] Ignore forward declarations without definitions in the same translation unit in readability-identifier-naming
Summary: This change ensures that forward declarations of classes are not considered for identifier naming checks within a translation unit. Reviewers: alexfh, aaron.ballman Subscribers: mgehre Differential Revision: https://reviews.llvm.org/D22571 Modified: clang-tools-extra/trunk/clang-tidy/readability/IdentifierNamingCheck.cpp clang-tools-extra/trunk/test/clang-tidy/readability-identifier-naming.cpp Modified: clang-tools-extra/trunk/clang-tidy/readability/IdentifierNamingCheck.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/readability/IdentifierNamingCheck.cpp?rev=285907&r1=285906&r2=285907&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-tidy/readability/IdentifierNamingCheck.cpp (original) +++ clang-tools-extra/trunk/clang-tidy/readability/IdentifierNamingCheck.cpp Thu Nov 3 08:52:09 2016 @@ -395,6 +395,9 @@ static StyleKind findStyleKind( if (Decl->isAnonymousStructOrUnion()) return SK_Invalid; + if (!Decl->getCanonicalDecl()->isThisDeclarationADefinition()) + return SK_Invalid; + if (Decl->hasDefinition() && Decl->isAbstract() && NamingStyles[SK_AbstractClass].isSet()) return SK_AbstractClass; Modified: clang-tools-extra/trunk/test/clang-tidy/readability-identifier-naming.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/readability-identifier-naming.cpp?rev=285907&r1=285906&r2=285907&view=diff ============================================================================== --- clang-tools-extra/trunk/test/clang-tidy/readability-identifier-naming.cpp (original) +++ clang-tools-extra/trunk/test/clang-tidy/readability-identifier-naming.cpp Thu Nov 3 08:52:09 2016 @@ -190,6 +190,11 @@ public: // CHECK-MESSAGES: :[[@LINE-1]]:16: warning: invalid case style for class member 'ClassMember_2' // CHECK-FIXES: {{^}} static int ClassMember2;{{$}} }; +class my_class; +// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: invalid case style for class 'my_class' +// CHECK-FIXES: {{^}}class CMyClass;{{$}} + +class my_forward_declared_class; // No warning should be triggered. const int my_class::classConstant = 4; // CHECK-MESSAGES: :[[@LINE-1]]:21: warning: invalid case style for class constant 'classConstant' _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits