Bug 10691 – real type on Win 64 broken (?)

Status
NEW
Severity
normal
Priority
P3
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Windows
Creation time
2013-07-21T10:27:45Z
Last change time
2024-12-13T18:09:39Z
Assigned to
No Owner
Creator
Michael
Moved to GitHub: dmd#18636 →

Comments

Comment #0 by pr — 2013-07-21T10:27:45Z
import std.stdio; void main() { writeln(real.min_normal, " ", real.max); } Produces every time different output: 1 run - 8.9527e-313 8.9527e-313 2 run - 1.21008e-312 1.21008e-312 3 run - 3.56e-312 3.56e-312 ... Or not recognized by ms linker?
Comment #1 by yebblies — 2013-11-20T22:14:56Z
Is this still broken?
Comment #2 by jblume — 2014-05-26T16:01:53Z
================================= DMD v2.065 official (32-bit): 3.3621e-4932 1.18973e+4932 3.3621e-4932 1.18973e+4932 3.3621e-4932 1.18973e+4932 DMD v2.065 official (64-bit): 2.27151e-312 2.27151e-312 2.79471e-312 2.79471e-312 1.74681e-312 1.74681e-312 ================================= DMD v2.066 git MSVC2013 (32-bit): 3.3621e-4932 1.18973e+4932 3.3621e-4932 1.18973e+4932 3.3621e-4932 1.18973e+4932 DMD v2.066 git MSVC2013 (64-bit): 0 inf 0 inf 0 inf ================================= So the random results on Win64 seem to be fixed on git.
Comment #3 by r.sagitario — 2014-05-26T17:37:05Z
Yeah, the output was fixed when the unittests for Win64 were enabled. Unfortunately the runtime still uses C's sprintf for printing floating point numbers, and the MS library only supports double, not real.
Comment #4 by robert.schadek — 2024-12-13T18:09:39Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18636 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB