http://d.puremagic.com/issues/show_bug.cgi?id=9969
Maxim Fomin <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |critical --- Comment #6 from Maxim Fomin <[email protected]> 2013-04-21 04:33:59 PDT --- (In reply to comment #5) > I concede that there may well be a frontend problem as well, but in my limited > experience a properly functioning backend should never emit the code we see > here. What backend generates isn't determined only by it, bugs in frontend may lead to incorrect instructions. Look at: extern(C) int printf(const char*, ... ); extern(C) long *_memset64(long *p, long value, size_t count); void main() { long[2] arr = void; _memset64(arr.ptr, 1, 2); printf("%d %d\n", arr[0], arr[1]); //cfloat[2] bug; } and _Dmain. In this case call to memset is constructed by CallExp and things are done right, but in case of cfloat[2] call is constructed by AssignExp and setArray (https://github.com/D-Programming-Language/dmd/blob/master/src/e2ir.c#L757) and invalid code is generated. Anyway, this is critical. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
