[Libreoffice-commits] core.git: compilerplugins/clang

Stephan Bergmann sbergman at redhat.com
Fri Jun 29 21:41:29 UTC 2018


 compilerplugins/clang/check.cxx              |    2 +-
 compilerplugins/clang/test/redundantcast.cxx |    3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 15e51fbc5710ef40506645b34a3fe17de3ce511f
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Jun 29 15:58:10 2018 +0200

    Improved loplugin:redundantcast (const-qualified typedefs)
    
    ...see comments to <https://gerrit.libreoffice.org/#/c/56661/> "This cast seems
    completely unnecessary to me?"
    
    Change-Id: I57d27cd2aa2dc94bc2e0b49fe06a09d31301cb7e
    Reviewed-on: https://gerrit.libreoffice.org/56708
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/compilerplugins/clang/check.cxx b/compilerplugins/clang/check.cxx
index 2f1ca066452f..b31e40b23e2b 100644
--- a/compilerplugins/clang/check.cxx
+++ b/compilerplugins/clang/check.cxx
@@ -268,7 +268,7 @@ bool isOkToRemoveArithmeticCast(
     // suffix like L it could still be either long or long long):
     if ((t1->isIntegralType(context)
          || t1->isRealFloatingType())
-        && ((t1 != t2
+        && ((t1.getLocalUnqualifiedType() != t2.getLocalUnqualifiedType()
              && (loplugin::TypeCheck(t1).Typedef()
                  || loplugin::TypeCheck(t2).Typedef()))
             || isArithmeticOp(subExpr)
diff --git a/compilerplugins/clang/test/redundantcast.cxx b/compilerplugins/clang/test/redundantcast.cxx
index 713a3be1433c..3aae140d77f0 100644
--- a/compilerplugins/clang/test/redundantcast.cxx
+++ b/compilerplugins/clang/test/redundantcast.cxx
@@ -318,6 +318,9 @@ void testArithmeticTypedefs() {
     (void) static_cast<T1>(nt1r()); // expected-error {{redundant}}
     (void) T1(nt1r()); // expected-error {{redundant}}
     (void) (T1) nt1r(); // expected-error {{redundant}}
+
+    T1 const c{};
+    (void) static_cast<T1>(c); // expected-error {{redundant}}
 }
 
 void testReinterpretConstCast() {


More information about the Libreoffice-commits mailing list