digitalmars.D.bugs - [Issue 15204] New: wrong code with -m32 -O -release (floating
- via Digitalmars-d-bugs (26/26) Oct 14 2015 https://issues.dlang.org/show_bug.cgi?id=15204
https://issues.dlang.org/show_bug.cgi?id=15204 Issue ID: 15204 Summary: wrong code with -m32 -O -release (floating points, x86) Product: D Version: D2 Hardware: x86 OS: All Status: NEW Severity: blocker Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: ilyayaroshenko gmail.com See debug code in https://github.com/D-Programming-Language/phobos/pull/3559 : ==== writeln("ttt ", [i, a, b, m, (a + b) / 2, (a + b) / 2.0, ], a <= m, m <= b); ==== produce text: === ttt [8, -5.50533e+307, 4.49423e+307, -8.08875e+307, -8.08875e+307, -8.08875e+307]truetrue === So, (-5.50533e+307 + 4.49423e+307) / 2.0 = -8.08875e+307, but it is wrong. 32 code on FreeBSD/Linux fails, but on OSX works fine. --
Oct 14 2015