Skip to content

Failing tests on i686 with GCC 13 #3337

Description

@marxin

As mentioned already here (#2975 (comment)), after the recent GCC change gcc-mirror/gcc@8020c9c, the following test-case fails now:

[   23s] /home/abuild/rpmbuild/BUILD/fmt-9.1.0/test/chrono-test.cc:571: Failure
[   23s] Expected equality of these values:
[   23s]   "44.000000000000"
[   23s]   fmt::format("{:%S}", std::chrono::duration<float, std::pico>( 1.54213895E+26))
[   23s]     Which is: "16.430007934570"
[   23s] [  FAILED  ] chrono_test.special_durations (0 ms)

A reduced test case can be seen here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109085.

This is related to the excess precision provided by X87 and can be fixed with either -ffloat-store or -fexcess-precision=standard. Note that the default precision is going to change for GCC 13: https://gcc.gnu.org/gcc-13/porting_to.html#excess-precision.

One more comment about using -fexcess-precision=standard on i686, apparently, it breaks the following test-case:

[   43s] /home/abuild/rpmbuild/BUILD/fmt-9.1.0/test/format-test.cc:1395: Failure
[   43s] Expected equality of these values:
[   43s]   "0.10000000149011612"
[   43s]   fmt::format("{}", double(0.1f))
[   43s]     Which is: "0.1"
[   43s] [  FAILED  ] format_test.prettify_float (0 ms)

Can you please take a look, @vitaut?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions