John Colvin:

It is,

As far as I know, D is using that as an optimization, not as an ABI default that must happen at all optimization levels.


but a copy is made after the function returns anyway, for reasons unknown to me. For some reason the optimizer can't elide it (ldc2 -O5 -release, with a pragma(LDC_never_inline); inside foo).

Right. perhaps I'll have to ask this again in the main D newsgroup (but perhaps better to do it Monday).

Bye,
bearophile

Reply via email to