[Issue 5455] ICE(cgcod.c): Optimization (register allocation?) regression in DMD 1.065

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Jan 25 00:29:42 PST 2011


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



--- Comment #5 from Don <clugdbug at yahoo.com.au> 2011-01-25 00:27:34 PST ---
The bug was triggered by this change to SliceExp::toElem() (now line 4426):

---
        elem *eptr = array_toPtr(e1->type, e);
-        elem *elength = el_bin(OPmin, TYint, eupr, elwr2);
+        elem *elength = el_bin(OPmin, TYsize_t, eupr, elwr2);
        eptr = el_bin(OPadd, TYnptr, eptr, el_bin(OPmul, TYsize_t,
el_copytree(elwr2), el_long(TYsize_t, sz)));

        e = el_pair(TYdarray, elength, eptr);
        e = el_combine(elwr, e);
        e = el_combine(einit, e);
---
Reverting this change removes the ICE.
TYsize_t is a TYuint, rather than a TYint.
Still, I don't understand why it makes any difference.

-- 
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