http://d.puremagic.com/issues/show_bug.cgi?id=6234
Summary: 64-bit array append generates inline code to copy new data, but does not call postblit Product: D Version: D2 Platform: x86_64 OS/Version: All Status: NEW Severity: major Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: schvei...@yahoo.com --- Comment #0 from Steven Schveighoffer <schvei...@yahoo.com> 2011-07-01 05:38:11 PDT --- The 64-bit compiler no longer calls _d_arrayappendT directly, it now calls _d_arrayappendCTX, which does *not* copy the new data to the array. This is fine, because the compiler generates the necessary code to copy the new data. However, the compiler does *not* call postblit on that data. Two ways to fix this: 1. Simply switch to calling _d_arrayappendT again, and don't do the copying inline. 2. Insert a call to __doPostblit (or whatever you want to rename it, it's in rt/lifetime.d) after copying the data, but only if the type *has* a valid postblit. This is the reason the runtime is currently failing unit tests on 64-bit code. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------