Author: alexfh Date: Thu Mar 2 09:47:28 2017 New Revision: 296755 URL: http://llvm.org/viewvc/llvm-project?rev=296755&view=rev Log: [clang-tidy] google-readability-casting: detect redundant casts with top-level const
Modified: clang-tools-extra/trunk/clang-tidy/google/AvoidCStyleCastsCheck.cpp clang-tools-extra/trunk/test/clang-tidy/google-readability-casting.cpp Modified: clang-tools-extra/trunk/clang-tidy/google/AvoidCStyleCastsCheck.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/google/AvoidCStyleCastsCheck.cpp?rev=296755&r1=296754&r2=296755&view=diff ============================================================================== --- clang-tools-extra/trunk/clang-tidy/google/AvoidCStyleCastsCheck.cpp (original) +++ clang-tools-extra/trunk/clang-tidy/google/AvoidCStyleCastsCheck.cpp Thu Mar 2 09:47:28 2017 @@ -75,12 +75,12 @@ void AvoidCStyleCastsCheck::check(const T->isMemberFunctionPointerType(); }; - const QualType DestTypeAsWritten = CastExpr->getTypeAsWritten(); - const QualType SourceTypeAsWritten = CastExpr->getSubExprAsWritten()->getType(); - const QualType SourceType = - SourceTypeAsWritten.getCanonicalType().getUnqualifiedType(); - const QualType DestType = - DestTypeAsWritten.getCanonicalType().getUnqualifiedType(); + const QualType DestTypeAsWritten = + CastExpr->getTypeAsWritten().getUnqualifiedType(); + const QualType SourceTypeAsWritten = + CastExpr->getSubExprAsWritten()->getType().getUnqualifiedType(); + const QualType SourceType = SourceTypeAsWritten.getCanonicalType(); + const QualType DestType = DestTypeAsWritten.getCanonicalType(); bool FnToFnCast = isFunction(SourceTypeAsWritten) && isFunction(DestTypeAsWritten); Modified: clang-tools-extra/trunk/test/clang-tidy/google-readability-casting.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/google-readability-casting.cpp?rev=296755&r1=296754&r2=296755&view=diff ============================================================================== --- clang-tools-extra/trunk/test/clang-tidy/google-readability-casting.cpp (original) +++ clang-tools-extra/trunk/test/clang-tidy/google-readability-casting.cpp Thu Mar 2 09:47:28 2017 @@ -103,6 +103,19 @@ void f(int a, double b, const char *cpc, // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: {{.*}}; use static_cast [ // CHECK-FIXES: Enum e = static_cast<Enum>(b1); + e = (Enum)Enum1; + // CHECK-MESSAGES: :[[@LINE-1]]:7: warning: redundant cast to the same type + // CHECK-FIXES: {{^}} e = Enum1; + + e = (Enum)e; + // CHECK-MESSAGES: :[[@LINE-1]]:7: warning: redundant cast to the same type + // CHECK-FIXES: {{^}} e = e; + + static const int kZero = 0; + (int)kZero; + // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: redundant cast to the same type + // CHECK-FIXES: {{^}} kZero; + int b2 = int(b); int b3 = static_cast<double>(b); int b4 = b; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits