[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#693173: gcc-mingw32: float comparison fails assertion only with -std=c99



I have just now reproduced this bug in Debian Buster x86_64 using
i686-w64-mingw32-gcc-win32 with -std=c99 and wine32, using the
original example above.

Source file foo.c:
#include <assert.h>
float getfloat() { return 12345.6789f; }
int main(void) { assert(12345.6789f == getfloat()); }

Steps to reproduce:
$ i686-w64-mingw32-gcc-win32 foo.c -std=c99
$ wine ./a.exe
Assertion failed: 12345.6789f == getfloat(), file foo.c, line 3

It does not happen when I compile with gcc and run it natively on
linux. It also does not happen if I compile with
x86_64-w64-mingw32-gcc foo.c -std=c99.

Above it was suggested that this might be some kind of expected
behavior. I don't know whether that is the case (seems unlikely to me,
but I don't know). Just reporting that it still happens.

-Alan Beadle


Reply to: