You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Benjamin Bannier (JIRA)" <ji...@apache.org> on 2015/11/26 10:02:10 UTC

[jira] [Updated] (MESOS-4019) Consider enabling (non-fatal) compiler warnings about float equality comparisons

     [ https://issues.apache.org/jira/browse/MESOS-4019?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benjamin Bannier updated MESOS-4019:
------------------------------------
    Attachment: build.log

Build log of {{5e25791}}, configured with
{code}
../configure --disable-java --disable-python --enable-silent-rules CXX=clang++ CC=clang CXXFLAGS='-Wfloat-equal -Wno-error=float-equal'
{code}

Clang is {{clang version 3.8.0 http://llvm.org/git/clang 18607432c62c72101d442b4e24508a250f1913b6) (http://llvm.org/git/llvm/ 931217997cd3c9696284e73cace5b3a761147b36)}}.

The comparison sides inside mesos code are (see the full log for the path):
{code}
/Users/bbannier/src/mesos/3rdparty/libprocess/3rdparty/stout/include/stout/gtest.hpp|80 col 18| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp|473 col 31| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp|475 col 31| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp|477 col 31| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp|483 col 40| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp|495 col 42| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp|120 col 39| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/3rdparty/libprocess/include/process/gtest.hpp|191 col 18| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/src/common/resources.cpp|619 col 38| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/src/common/type_utils.cpp|349 col 22| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/src/common/values.cpp|54 col 23| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/src/master/allocator/sorter/drf/sorter.cpp|32 col 21| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/src/tests/mesos.hpp|1284 col 30| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/src/tests/mesos.hpp|1284 col 50| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/src/v1/mesos.cpp|345 col 22| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/src/v1/resources.cpp|620 col 38| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
/Users/bbannier/src/mesos/src/v1/values.cpp|55 col 23| warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
{code}

> Consider enabling (non-fatal) compiler warnings about float equality comparisons
> --------------------------------------------------------------------------------
>
>                 Key: MESOS-4019
>                 URL: https://issues.apache.org/jira/browse/MESOS-4019
>             Project: Mesos
>          Issue Type: Wish
>            Reporter: Benjamin Bannier
>         Attachments: build.log
>
>
> Comparing floating point numbers for equality does what is naively expected only in a very limited number of cases. More often than not one should probably instead either choose types allowing exact representation, or switch to a domain-specific equality measure.
> We should consider enabling compiler warnings on such operations.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)