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