Author: mgehre Date: Sat Jul 9 15:09:28 2016 New Revision: 274985 URL: http://llvm.org/viewvc/llvm-project?rev=274985&view=rev Log: clang-tidy/readability-identifier-naming: crash on DependentTemplateSpecializationType
Summary: Previously, the added test cases crashed because the passed a null Decl to addUsage(). Reviewers: alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D22188 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=274985&r1=274984&r2=274985&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-tidy/readability/IdentifierNamingCheck.cpp (original) +++ clang-tools-extra/trunk/clang-tidy/readability/IdentifierNamingCheck.cpp Sat Jul 9 15:09:28 2016 @@ -656,15 +656,16 @@ void IdentifierNamingCheck::check(const SourceRange Range(Ref.getTemplateNameLoc(), Ref.getTemplateNameLoc()); if (const auto *ClassDecl = dyn_cast<TemplateDecl>(Decl)) { - addUsage(NamingCheckFailures, ClassDecl->getTemplatedDecl(), Range); + if (const auto *TemplDecl = ClassDecl->getTemplatedDecl()) + addUsage(NamingCheckFailures, TemplDecl, Range); return; } } if (const auto &Ref = Loc->getAs<DependentTemplateSpecializationTypeLoc>()) { - addUsage(NamingCheckFailures, Ref.getTypePtr()->getAsTagDecl(), - Loc->getSourceRange()); + if (const auto *Decl = Ref.getTypePtr()->getAsTagDecl()) + addUsage(NamingCheckFailures, Decl, Loc->getSourceRange()); return; } } 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=274985&r1=274984&r2=274985&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 Sat Jul 9 15:09:28 2016 @@ -344,3 +344,9 @@ void MY_TEST_Macro(function) {} // CHECK-FIXES: {{^}}void MY_TEST_MACRO(function) {} } } + +template <typename t_t> struct a { + typename t_t::template b<> c; +}; + +template <template <typename> class A> struct b { A<int> c; }; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits