This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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

Attachment: amd64_abis_part2.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]