Subject: Re: bug#36338: guile-2.2.5 fails to build with -ffast-math

From: Mark H Weaver <[email-masked]>
Date: Wed, 26 Jun 2019 22:57:57 -0400

tags 36338 + notabug wontfix
close 36338
thanks

Hi Cyprien,

Cyprien Nicolas <[email-masked]> writes:

> I apologize if the issue was already reported, but I didn't find a
> previous record.
>
> At Gentoo, users build packages themselves, and have the freedom to
> choose the CFLAGS they want.
>
> We had several reports [1,2] from users unable to build guile with
> -Ofast. Adding -fno-fast-math make the build pass.
>
> Compiling with -O0 -ffast-math also fails.

Guile generally assumes that the underlying C implementation will be
standards compliant.  -Ofast, -ffast-math and related options disregard
standards compliance.  Among other things, -ffast-math implies
-ffinite-math-only, which generates code that assumes that all floating
point values are finite.  However, there's code in Guile's compiler that
uses +inf.0 and -inf.0 and expects that they will behave as specified in
IEEE-754.

So, in summary, I would say that Guile does not support being compiled
with -Ofast, -ffast-math, or many of the options that -ffast-math
implies.

> I'm not sure if you can solve this. On our side, we will append
> -fno-fast-math to compiler's flags.

I think this is the right approach.

     Thanks,
       Mark