[Libreoffice-commits] core.git: compilerplugins/clang libreofficekit/source sal/rtl

Stephan Bergmann sbergman at redhat.com
Mon Oct 10 11:13:20 UTC 2016


 compilerplugins/clang/fpcomparison.cxx   |    3 +++
 libreofficekit/source/gtk/lokdocview.cxx |    4 +---
 sal/rtl/math.cxx                         |    4 +---
 3 files changed, 5 insertions(+), 6 deletions(-)

New commits:
commit 1dac51334ba1440b158078f0dae765c7df55efb4
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Oct 10 13:10:21 2016 +0200

    Handle loplugin:fpcomparison false positives by whitelist
    
    Change-Id: I58e2beb0695a27922856bd8f8988d9e4508aceb6

diff --git a/compilerplugins/clang/fpcomparison.cxx b/compilerplugins/clang/fpcomparison.cxx
index 00dff67..cf24f40 100644
--- a/compilerplugins/clang/fpcomparison.cxx
+++ b/compilerplugins/clang/fpcomparison.cxx
@@ -88,6 +88,7 @@ bool FpComparison::ignore(FunctionDecl* function)
         || dc.Function("doubleToString").AnonymousNamespace().GlobalNamespace()
         || dc.Function("stringToDouble").AnonymousNamespace().GlobalNamespace()
         || dc.Function("rtl_math_round").GlobalNamespace()
+        || dc.Function("rtl_math_approxEqual").GlobalNamespace()
         || dc.Function("rtl_math_approxValue").GlobalNamespace()
         || dc.Function("rtl_math_asinh").GlobalNamespace()
         || dc.Function("rtl_math_acosh").GlobalNamespace()
@@ -103,6 +104,8 @@ bool FpComparison::ignore(FunctionDecl* function)
         || (dc.Function("initialize").Class("Impl").AnonymousNamespace()
             .GlobalNamespace())
             // testtools/source/bridgetest/constructors.cxx
+        || dc.Function("lok_approxEqual").AnonymousNamespace().GlobalNamespace()
+            // libreofficekit/source/gtk/lokdocview.cxx
         // These might need fixing:
         || (dc.Function("getSmallestDistancePointToPolygon").Namespace("tools")
             .Namespace("basegfx").GlobalNamespace())
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
index 4d34428..c4159b0 100644
--- a/libreofficekit/source/gtk/lokdocview.cxx
+++ b/libreofficekit/source/gtk/lokdocview.cxx
@@ -3188,9 +3188,7 @@ namespace {
 inline bool lok_approxEqual(double a, double b)
 {
     static const double e48 = 1.0 / (16777216.0 * 16777216.0);
-    // XXX loplugin:fpcomparison complains about floating-point comparison for
-    // a==b, though we actually want this here.
-    if (!(a<b) && !(a>b))
+    if (a == b)
         return true;
     if (a == 0.0 || b == 0.0)
         return false;
diff --git a/sal/rtl/math.cxx b/sal/rtl/math.cxx
index 789c135..9ce10f7 100644
--- a/sal/rtl/math.cxx
+++ b/sal/rtl/math.cxx
@@ -1090,9 +1090,7 @@ bool SAL_CALL rtl_math_approxEqual(double a, double b) SAL_THROW_EXTERN_C()
 {
     static const double e48 = 1.0 / (16777216.0 * 16777216.0);
     static const double e44 = e48 * 16.0;
-    // XXX loplugin:fpcomparison complains about floating-point comparison for
-    // a==b, though we actually want this here.
-    if (!(a<b) && !(a>b))
+    if (a == b)
         return true;
     if (a == 0.0 || b == 0.0)
         return false;


More information about the Libreoffice-commits mailing list