https://bugs.winehq.org/show_bug.cgi?id=48324
Bug ID: 48324 Summary: cl.exe fails to compile c++ due to error C2177: constant too big on float constant Product: Wine Version: 5.0-rc2 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msvcrt Assignee: wine-bugs@winehq.org Reporter: rpisl@seznam.cz Distribution: ---
Commit c22af971c287933a137c9fbecc81823812e12b7a is a regression for me. I use 32bit cl.exe on 64bit Wine prefix. I was not affected by https://bugs.winehq.org/show_bug.cgi?id=48160. I have MSVC 2015 build tools installed using vs installer 2019. But since this commit, I get "error C2177: constant too big" on following simple program:
#include <stdio.h> void main() { printf("%f\n", 3.4028234663852886E38f); }
On Windows, it shows: 340282346638528859811704183484516925440.000000
3.4028234663852887E38f is also OK and shows the same, 3.4028234663852888E38f fails: error C2177: constant too big
On Wine 5.0-r2 3.4028234663852886E38f fails, 3.4028234663852885E38f is OK. On Wine 5.0-r1 it behaves like on Windows.
During the compilation, atof() is called: 0073:Call ucrtbase.atof(0143e180 "3.4028234663852886E38f") ret=01a20d25