[Bug 52] NRVO not implemented

gdc-bugzilla at gdcproject.org gdc-bugzilla at gdcproject.org
Fri May 31 17:48:01 PDT 2013


http://bugzilla.gdcproject.org/show_bug.cgi?id=52

--- Comment #1 from Iain Buclaw <ibuclaw at gdcproject.org> 2013-06-01 00:48:01 UTC ---
https://github.com/D-Programming-GDC/GDC/commit/38d4599d8cbae3ce8f29a1da46175503d2894f08


Before:
Construct: this=FFFFFFFFFFE36DD0
Check: this=FFFFFFFFFFE36DD0 a=FFFFFFFFFFE36DD0
Check: this=FFFFFFFFFFE36E40 a=FFFFFFFFFFE36DD0



After:
Construct: this=FFFFFFFFFF93C5E0
Check: this=FFFFFFFFFF93C5E0 a=FFFFFFFFFF93C5E0
Check: this=FFFFFFFFFF93C5F0 a=FFFFFFFFFF93C5E0


The offset between the two addresses are now 16 bytes apart.  However this is
just evidence that GCC NRVO is not the same as DMD NRVO.  (I think DMD's way is
passing the return variable as a hidden parameter).

But I'm content with this way of doing it for the time being.

-- 
Configure bugmail: http://bugzilla.gdcproject.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the D.gnu mailing list