[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