www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Issue 8340: dmd backend bug

reply "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
See: http://d.puremagic.com/issues/show_bug.cgi?id=8340

Looks like the dmd backend sometimes produces wrong code by generating
128-bit instructions on an array of 64-bit integers.  It also appears to
generate 64-bit instructions for an int[], which violates the spec that
int==32 bits (in that case no bug is apparent because the int[] appears
to be constructed as (64-bit)[] for some reason, but for the long[]
case, the array is constructed as (64-bit)[] but the negation as negq,
so the negation spills over into the next array element).

But I've not the remotest idea how to even begin fixing this, so I'm
bringing attention to this issue here. :)

I tested gdc (git gdc-4.6 branch) and it didn't have this problem.


T

-- 
One reason that few people are aware there are programs running the
internet is that they never crash in any significant way: the free
software underlying the internet is reliable to the point of
invisibility. -- Glyn Moody, from the article "Giving it all away"
Nov 08 2012
parent Walter Bright <newshound2 digitalmars.com> writes:
On 11/8/2012 9:29 PM, H. S. Teoh wrote:
 See: http://d.puremagic.com/issues/show_bug.cgi?id=8340

Major bug, but an easy fix.
Nov 09 2012