[Issue 5580] [64-bit] String switch statements broken in 64-bit mode

2011-02-16 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5580


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #7 from Walter Bright bugzi...@digitalmars.com 2011-02-16 
00:54:02 PST ---
https://github.com/D-Programming-Language/dmd/commit/f1c158eac6f9d1a28314c7e473c89be8b8a4f774

https://github.com/D-Programming-Language/dmd/commit/b3bb64d6ff00beddfc45c228941feedeb2e27842

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5580] [64-bit] String switch statements broken in 64-bit mode

2011-02-15 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5580



--- Comment #2 from David Simcha dsim...@yahoo.com 2011-02-15 02:34:01 PST ---
Created an attachment (id=912)
Statically linked binary

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5580] [64-bit] String switch statements broken in 64-bit mode

2011-02-15 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5580



--- Comment #4 from David Simcha dsim...@yahoo.com 2011-02-15 06:30:28 PST ---
My gut feeling is that this is related to Bug 5581, as both invoke calls to
memcmp() according to my reading of the disassembly and tracking down of the
function calls in the runtime.  However, 5581 seems to be reproducible
everywhere.  If you can't reproduce this, I suggest fixing 5581 first.  Once
5581 is fixed, I'll retest this bug on a machine that I was able to reproduce
it on and hopefully it will be fixed, too.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5580] [64-bit] String switch statements broken in 64-bit mode

2011-02-15 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5580


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com


--- Comment #5 from Walter Bright bugzi...@digitalmars.com 2011-02-15 
15:30:18 PST ---
I can't reproduce a problem on Ubuntu, and I examined the assembler generated
for druntime/src/rt/switch_.d and nothing obviously wrong jumped out at me.

One thing you can try on the failing machines is to copy switch_.d into a local
directory, compile it with the test case, and verify the failure. Then add some
print statements to switch_.d to try and see where it goes wrong.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5580] [64-bit] String switch statements broken in 64-bit mode

2011-02-15 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5580



--- Comment #6 from David Simcha dsim...@yahoo.com 2011-02-15 18:10:56 PST ---
Unfortunately this appears to be a Heisenbug.  When I put print statements in
to figure out what's going on and call the switch statement function manually,
it starts working.  However, the one hint I did get from mucking around in
switch_.d is that replacing the memcmp() call with a manual for loop and
recompiling druntime solves the problem.  Not sure if this is due to the
Heisenbug nature of this thing or if it indicates that the memcmp() call is the
culprit.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---