Report on IA64 C++ ABI
Cary Coutant
cary at cup.hp.com
Fri Jul 2 23:35:19 UTC 1999
>Can you confirm that
>making a copy in registers (as for C objects) is also in the spirit
>of the C ABI?
Are you speaking here of objects that have no copy constructor? If so,
yes, it should be passed according to the C conventions.
Only when there is a copy constructor do we need to pass it by reference.
I had one clarification question about your description of this case:
>>The agreement seems to be that the copy constructor is the only real
>>problem. When it's there, we don't use the C ABI at all but pass a 'this'
>>pointer.
This doesn't make it clear that the caller makes a temporary copy in its
own stack frame. Is that what you intended, or did the group discuss
something else?
>In particular, do you agree with the current proposal
>of passing empty structs with no ctor in zero slots.
Yes, I see no reason to take up space in the parameter list to pass zero
information.
-cary
More information about the cxx-abi-dev
mailing list