[Issue 8340] *= operator breaks long array in x64

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Nov 8 21:21:26 PST 2012


http://d.puremagic.com/issues/show_bug.cgi?id=8340



--- Comment #2 from hsteoh at quickfur.ath.cx 2012-11-08 21:21:22 PST ---
Hmm, looks like a dmd backend bug: gdc (unoptimized) produces neg (respectively
negl) instructions for negating the array element of ia (resp. la), but dmd
-m64 produces negl (resp. negq) instead.

This produces correct results for la, because dmd actually generates it as a
quad array, whereas ia remains an int array. This is a violation of the D spec
(which states that int==32 bits and long==64 bits; seems like the dmd backend
is wrongly using int==32 bits and long==128 bits (inconsistently).

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


More information about the Digitalmars-d-bugs mailing list