[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