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 <[email protected]> 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; _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
