[dmd-internals] What does POD imply for backends
Walter Bright
walter at digitalmars.com
Sat Feb 16 12:26:39 PST 2013
On 2/16/2013 12:17 PM, Johannes Pfau wrote:
> Am 16.02.2013 21:06, schrieb Walter Bright:
>> A non-POD cannot be in registers because its address gets taken for
>> constructors/destructors.
>>
>>
> But creating temporary (bit) copies on the stack is still allowed for
> non-PODs, right?
No.
>
> Wouldn't it be legal to still pass non-PODs in registers when calling
> functions and only copying them back to the stack if the address is needed? As
> we pass structs by value anyway, how could this be problematic?
>
No, not allowed. Consider why there are copy constructors, and what they do.
More information about the dmd-internals
mailing list