Author: alexfh Date: Thu Jul 26 06:13:54 2018 New Revision: 338025 URL: http://llvm.org/viewvc/llvm-project?rev=338025&view=rev Log: [clang-tidy] Fix llvm.org/PR38315 (support type aliases in modernize-shrink-to-fit)
Modified: clang-tools-extra/trunk/clang-tidy/modernize/ShrinkToFitCheck.cpp clang-tools-extra/trunk/test/clang-tidy/modernize-shrink-to-fit.cpp Modified: clang-tools-extra/trunk/clang-tidy/modernize/ShrinkToFitCheck.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/modernize/ShrinkToFitCheck.cpp?rev=338025&r1=338024&r2=338025&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-tidy/modernize/ShrinkToFitCheck.cpp (original) +++ clang-tools-extra/trunk/clang-tidy/modernize/ShrinkToFitCheck.cpp Thu Jul 26 06:13:54 2018 @@ -43,8 +43,8 @@ void ShrinkToFitCheck::registerMatchers( Finder->addMatcher( cxxMemberCallExpr( - on(hasType(namedDecl( - hasAnyName("std::basic_string", "std::deque", "std::vector")))), + on(hasType(hasCanonicalType(hasDeclaration(namedDecl( + hasAnyName("std::basic_string", "std::deque", "std::vector")))))), callee(cxxMethodDecl(hasName("swap"))), has(ignoringParenImpCasts(memberExpr(hasDescendant(CopyCtorCall)))), hasArgument(0, SwapParam.bind("ContainerToShrink")), Modified: clang-tools-extra/trunk/test/clang-tidy/modernize-shrink-to-fit.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/modernize-shrink-to-fit.cpp?rev=338025&r1=338024&r2=338025&view=diff ============================================================================== --- clang-tools-extra/trunk/test/clang-tidy/modernize-shrink-to-fit.cpp (original) +++ clang-tools-extra/trunk/test/clang-tidy/modernize-shrink-to-fit.cpp Thu Jul 26 06:13:54 2018 @@ -72,3 +72,16 @@ void h() { // CHECK-FIXES: {{^ }}COPY_AND_SWAP_INT_VEC(v);{{$}} } +void PR38315() { + typedef std::vector<int> Vector; + Vector v; + Vector(v).swap(v); + // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: the shrink_to_fit method should + // CHECK-FIXES: {{^ }}v.shrink_to_fit();{{$}} + + using Vector2 = std::vector<int>; + Vector2 v2; + Vector2(v2).swap(v2); + // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: the shrink_to_fit method should + // CHECK-FIXES: {{^ }}v2.shrink_to_fit();{{$}} +} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits