[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