[PATCH]: Implementation for SYSV/MS ABI attributes in i386 may before stage 3

Kai Tietz Kai.Tietz@onevision.com
Wed Sep 12 12:04:00 GMT 2007


Hi,

Ok, here is the patch for abi dependent calling convention controlled by 
attributes. The documentation I will deliver in stage 3.
This patch file is strictly related to the prior patch I sent '[PING^3 
PATCH]: Preparations for SYSV/MS ABI attributes in backend'.

Is this patch OK ?

ChangeLog /gcc/gcc


        * gcc/config/i386/cygming.h: (TARGET_64BIT_MS_ABI): Redefine using
        calling abi attributes.
        (STACK_BOUNDARY): Likewise.
        (DEFAULT_ABI): New macro specifying default abi to use.
        (REG_PARM_STACK_SPACE, OUTGOING_REG_PARM_STACK_SPACE): Removed.
        * gcc/config/i386/i386-protos.h: (ix86_return_in_memory): Add 
fntype argument.
        (ix86_cfun_abi, ix86_function_abi, ix86_function_type_abi): New.
        * gcc/config/i386/i386.c: (X86_64_VARARGS_SIZE): Make it use SYSV 
constants.
        May a todo, defining abi related constants in i386.h for better 
reading.
        (ix86_cfun_abi, ix86_function_abi, ix86_function_type_abi,
        ix86_reg_parm_stack_space): New.
        (TARGET_64BIT_MS_ABI): Replace them by using default or function 
specific
        calling abi definitions.
        * gcc/config/i386/i386.h: (TARGET_64BIT_MS_ABI): Redefine unsigned
        calling abi attributes.
        (STACK_BOUNDARY): Likewise.
        (REG_PARM_STACK_SPACE): Likewise.
        (OVERRIDE_ABI_FORMAT): New.
        (SYSV_ABI, MS_ABI): New enum constants.
        (DEFAULT_ABI): New.
        (TARGET_64BIT_MS_ABI): Replace them by using default or function 
specific
        calling abi definitions.
        (RETURN_IN_MEMORY): Add new fntype argument.
        (ix86_args): New member call_abi.
        (machine_function): New member call_abi.
        * gcc/config/i386/mingw32.h:  (TARGET_64BIT_MS_ABI): Replace them 
by using default
        calling abi definitions.
 

May somebody can comment on and or approve this ?

Regards,
 i.A. Kai Tietz



|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.

------------------------------------------------------------------------------------------
  OneVision Software Entwicklungs GmbH & Co. KG
  Dr.-Leo-Ritter-Straße 9 - 93049 Regensburg
  Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
  Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
  Handelsregister: HRA 6744, Amtsgericht Regensburg
  Komplementärin: OneVision Software Entwicklungs Verwaltungs GmbH
  Dr.-Leo-Ritter-Straße 9 – 93049 Regensburg
  Handelsregister: HRB 8932, Amtsgericht Regensburg - Geschäftsführer: 
Ulrike Döhler, Manuela Kluger
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: amd64_abis_part2.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070912/14b644d9/attachment.txt>


More information about the Gcc-patches mailing list