http://d.puremagic.com/issues/show_bug.cgi?id=6189
Leandro Lucarella <leandro.lucare...@sociomantic.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |leandro.lucarella@sociomant | |ic.com --- Comment #12 from Leandro Lucarella <leandro.lucare...@sociomantic.com> 2012-05-22 11:17:37 PDT --- (In reply to comment #10) > My reduction in comment 9 was valid only for D2, this one is valid for D1 as > well (again compile with -m64 -O): > --------------------------- > struct IPoint { > int x, y; > } > > void bug6189(uint half, IPoint pos, float[4] *pts, uint unused) { > pos.y += half; > float xo = pos.x; > float yo = pos.y; > > (*pts)[0] = xo; > (*pts)[1] = yo; > (*pts)[2] = xo; > } > > void main() > { > auto pos = IPoint(2, 2); > float[4] pts; > pts[0] = pts[1] = pts[2] = pts[3] = 0; > bug6189(0, pos, &pts, 0); > > assert(pts[0] == 2); > } OK, this one fails too in latest D1 and D2, but interestingly enough, it works with -O -inline (in both D1 and D2)! -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------