digitalmars.D.bugs - [Issue 5556] New: [64-bit] Wrong Implicit Conversion to Double
- d-bugmail puremagic.com (33/33) Feb 09 2011 http://d.puremagic.com/issues/show_bug.cgi?id=5556
- d-bugmail puremagic.com (13/13) Feb 10 2011 http://d.puremagic.com/issues/show_bug.cgi?id=5556
http://d.puremagic.com/issues/show_bug.cgi?id=5556 Summary: [64-bit] Wrong Implicit Conversion to Double Product: D Version: D2 Platform: x86_64 OS/Version: Windows Status: NEW Keywords: wrong-code Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: dsimcha yahoo.com --- Comment #0 from David Simcha <dsimcha yahoo.com> 2011-02-09 19:56:56 PST --- The following weird result happens only with -m64 enabled. To reproduce the bug from this test case, -inline must be disabled to prevent the two functions from being inlined, though in the more complex cases that I reduced it from inlining could be enabled. import std.stdio; float fun(float[] data, sizediff_t k) { stderr.writeln("Returning ", data[k]); // Prints "Returning 2" return data[k]; } double gun(float[] data) { return fun(data, data.length / 2); } void main() { float[] test = [1,4,2,3,5]; stderr.writeln(gun(test)); // Prints 5.30499e-215 } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 09 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5556 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED --- Comment #1 from Walter Bright <bugzilla digitalmars.com> 2011-02-10 22:50:47 PST --- https://github.com/D-Programming-Language/dmd/commit/e5b63251d2c0fb4d2aa7929d3560e0f4d42be458 https://github.com/D-Programming-Language/dmd/commit/bc29f3797e695fe7ff3ad5da5f3c5bc6e43a84da -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 10 2011