compilerplugins/clang/implicitboolconversion.cxx |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

New commits:
commit e12e0087e25c0aebc1a19ade7bf5a554c44e3cd0
Author: Stephan Bergmann <sberg...@redhat.com>
Date:   Mon May 11 09:17:45 2015 +0200

    Suppress loplugin:implicitboolconversion warnings in Objective-C code
    
    ...(but not Objective-C++ code) where BOOL (aka unsigned char) expressions 
are
    routinely implicitly converted to int per the C rules, e.g., as operands of 
&&.
    
    Change-Id: I17e5dae9f065aaa814850196b1ef31f8fb07c99b

diff --git a/compilerplugins/clang/implicitboolconversion.cxx 
b/compilerplugins/clang/implicitboolconversion.cxx
index 0d933bf..3f255ff 100644
--- a/compilerplugins/clang/implicitboolconversion.cxx
+++ b/compilerplugins/clang/implicitboolconversion.cxx
@@ -951,11 +951,13 @@ void ImplicitBoolConversion::checkCXXConstructExpr(
 }
 
 void ImplicitBoolConversion::reportWarning(ImplicitCastExpr const * expr) {
-    report(
-        DiagnosticsEngine::Warning,
-        "implicit conversion (%0) from %1 to %2", expr->getLocStart())
-        << expr->getCastKindName() << expr->getSubExprAsWritten()->getType()
-        << expr->getType() << expr->getSourceRange();
+    if (!compiler.getLangOpts().ObjC2 || compiler.getLangOpts().CPlusPlus) {
+        report(
+            DiagnosticsEngine::Warning,
+            "implicit conversion (%0) from %1 to %2", expr->getLocStart())
+            << expr->getCastKindName() << 
expr->getSubExprAsWritten()->getType()
+            << expr->getType() << expr->getSourceRange();
+    }
 }
 
 loplugin::Plugin::Registration<ImplicitBoolConversion> X(
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to