[patch]: Preparations for call abi switching via attribute.

Mark Mitchell mark@codesourcery.com
Tue Apr 29 18:58:00 GMT 2008


Kai Tietz wrote:

>> This patch mainly adds to the RETURN_IN_MEMORY and the 
>> OUTGOING_REG_PARM_STACK_SPACE macros a function type attribute. This
>> patch is the middle part of supporting the feature to switch between
>> different calling abi's via attribute. This feature was queried by 
>> the wine project to have the abililty on amd64 targets to do so.
>> The target patch I will post after this patch gets approved.

The idea of this patch seems OK, but I have some questions:

* How has it been tested?  (Every patch submission should list the 
platforms on which it has been tested.)

* Isn't RETURN_IN_MEMORY obsolete anyhow?  IIUC, the default target hook 
for return_in_memory calls RETURN_IN_MEMORY if it is defined.  So, why 
not just take the few ports that define RETURN_IN_MEMORY, and have them 
TARGET_RETURN_IN_MEMORY instead?  That function already takes "fntype". 
  It looks like RETURN_IN_MEMORY is not even documented in our manual. 
IIUC, you could thus complete an existing incomplete transition, rather 
than adding the argument to RETURN_IN_MEMORY.

* Please leave out the OVERRIDE_ABI_FORMAT change until we have a chance 
to see how it is being used.  It can be submitted with the target patch.

* You should use NULL_TREE, not "0" or "NULL", for NULL values of type 
"tree", as in the case that you are passing a NULL value as "fntype".

Thanks,

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713



More information about the Gcc-patches mailing list