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

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Oct 1 08:57:49 UTC 2018


 compilerplugins/clang/implicitboolconversion.cxx |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

New commits:
commit 1f2f53501cdf4fc5e54563c8375410df75d600c8
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Sun Sep 30 19:38:44 2018 +0000
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Mon Oct 1 10:57:27 2018 +0200

    implicitboolconversion: ignore quint64 bitfield
    
    Change-Id: I97380455b9f526b75c7d3855d188d2f659035ba2
    Reviewed-on: https://gerrit.libreoffice.org/61170
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/compilerplugins/clang/implicitboolconversion.cxx b/compilerplugins/clang/implicitboolconversion.cxx
index cf40338a4ce3..8080c1c2ae13 100644
--- a/compilerplugins/clang/implicitboolconversion.cxx
+++ b/compilerplugins/clang/implicitboolconversion.cxx
@@ -641,10 +641,12 @@ bool ImplicitBoolConversion::TraverseBinNE(BinaryOperator * expr) {
 bool ImplicitBoolConversion::TraverseBinAssign(BinaryOperator * expr) {
     nested.push(std::vector<ImplicitCastExpr const *>());
     bool bRet = RecursiveASTVisitor::TraverseBinAssign(expr);
-    // /usr/include/gtk-2.0/gtk/gtktogglebutton.h: struct _GtkToggleButton:
+    // gtk-2.0/gtk/gtktogglebutton.h: struct _GtkToggleButton:
     //  guint GSEAL (active) : 1;
     // even though <http://www.gtk.org/api/2.6/gtk/GtkToggleButton.html>:
     //  "active"               gboolean              : Read / Write
+    // qt5/QtGui/qaccessible.h: struct State:
+    //  quint64 disabled : 1;
     bool bExt = false;
     MemberExpr const * me = dyn_cast<MemberExpr>(expr->getLHS());
     if (me != nullptr) {
@@ -653,7 +655,11 @@ bool ImplicitBoolConversion::TraverseBinAssign(BinaryOperator * expr) {
             && fd->getBitWidthValue(compiler.getASTContext()) == 1)
         {
             TypedefType const * t = fd->getType()->getAs<TypedefType>();
-            bExt = t != nullptr && t->getDecl()->getNameAsString() == "guint";
+            if (t != nullptr)
+            {
+                std::string sTypeName = t->getDecl()->getNameAsString();
+                bExt = (sTypeName == "guint" || sTypeName == "quint64");
+            }
         }
     }
     assert(!nested.empty());


More information about the Libreoffice-commits mailing list