Hi Collin,

you wrote on 2025-04-25:
> > But that mingw change is likely to not work at all. Because gcc can
> > emit instructions that use the old i386/387 unit:
> >   (a) When the program uses 'long double' values,
> >   (b) When the option -mfpmath=387 is used, cf.
> >       https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/x86-Options.html
> >
> > So, the first thing is to try out some uses of <fenv.h> with (a) or (b),
> > and see whether that works.
> 
> I'll have a look. Thanks!

On the GitHub CI machines, I now see compilation failures on mingw:

In file included from ../../gllib/fenv-env.c:26:
../../gllib/fenv-env.c: In function 'rpl_fegetenv':
../../gllib/verify.h:215:41: error: static assertion failed: "verify (sizeof 
(fenv_t) >= sizeof (x86_387_fenv_t))"
  215 | # define _GL_VERIFY(R, DIAGNOSTIC, ...) _Static_assert (R, DIAGNOSTIC)
      |                                         ^~~~~~~~~~~~~~
../../gllib/verify.h:348:20: note: in expansion of macro '_GL_VERIFY'
  348 | # define verify(R) _GL_VERIFY (R, "verify (" #R ")", -)
      |                    ^~~~~~~~~~
../../gllib/fenv-env.c:172:3: note: in expansion of macro 'verify'
  172 |   verify (sizeof (fenv_t) >= sizeof (x86_387_fenv_t));
      |   ^~~~~~
../../gllib/fenv-env.c: In function 'rpl_fesetenv':
../../gllib/verify.h:215:41: error: static assertion failed: "verify (sizeof 
(fenv_t) >= sizeof (x86_387_fenv_t))"
  215 | # define _GL_VERIFY(R, DIAGNOSTIC, ...) _Static_assert (R, DIAGNOSTIC)
      |                                         ^~~~~~~~~~~~~~
../../gllib/verify.h:348:20: note: in expansion of macro '_GL_VERIFY'
  348 | # define verify(R) _GL_VERIFY (R, "verify (" #R ")", -)
      |                    ^~~~~~~~~~
../../gllib/fenv-env.c:301:3: note: in expansion of macro 'verify'
  301 |   verify (sizeof (fenv_t) >= sizeof (x86_387_fenv_t));
      |   ^~~~~~
make[4]: *** [Makefile:12062: fenv-env.o] Error 1

This means that the mingw people made a release with that change included,
and it is active in the GitHub CI environments.

I want to get this fixed ASAP, but I don't want to duplicate work that you
already did. How far did you get on this topic?

Bruno




Reply via email to