Bug 20963 – wrong code for cast(double)anUlong

Status
RESOLVED
Resolution
FIXED
Severity
blocker
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2020-06-21T02:06:43Z
Last change time
2020-07-12T02:56:49Z
Keywords
pull, wrong-code
Assigned to
No Owner
Creator
Илья Ярошенко

Comments

Comment #0 by ilyayaroshenko — 2020-06-21T02:06:43Z
Test case: ``` void main() { import std.stdio; ulong v = 0xE3251BACB112CB8B; assert(cast(double)v == 0x1.c64a375962259p+63); writefln("%a", cast(double)v); //0x1.c64a37596225ap+63 } ``` This is a DMD specific issue.
Comment #1 by dlang-bot — 2020-07-09T06:58:07Z
@WalterBright created dlang/dmd pull request #11393 "fix Issue 20963 - wrong code for cast(double)anUlong" fixing this issue: - fix Issue 20963 - wrong code for cast(double)anUlong https://github.com/dlang/dmd/pull/11393
Comment #2 by dlang-bot — 2020-07-12T02:56:49Z
dlang/dmd pull request #11393 "fix Issue 20963 - wrong code for cast(double)anUlong" was merged into master: - 5d34dfd08ebd0c41a9332ed67a857bdfe00e528c by Walter Bright: fix Issue 20963 - wrong code for cast(double)anUlong https://github.com/dlang/dmd/pull/11393