Summary: OS X optimizer bug (?)
           Product: D
           Version: D2
          Platform: x86
        OS/Version: Mac OS X
            Status: NEW
          Severity: major
          Priority: P2
         Component: DMD

--- Comment #0 from klickverbot <> 2011-08-20 06:47:28 PDT 
to!string() seems to produce wrong results with -O using current DMD here on my
OS X Lion box:

import std.conv;
import std.stdio;

void main() {
  writefln("%s %s", long.min, to!string(long.min));

If I build the snippet without compiler flags, it prints (as expected):
-9223372036854775808 -9223372036854775808

If I add -O, however, the output becomes:
-9223372036854775808 -9223372032559808512

It seems like the lower 32 bits are zeroed out in the to!string() version (the
problem occurs also when to!string is used in isolation, the writefln is just
for demonstrative purposes).

Interestingly, this only occurs on my OS X box, I can't reproduce this in a
Linux VM (neither on x86 nor x86_64).

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to