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]

[PING PATCH]: Preparations for SYSV/MS ABI attributes in backend


Hello,

as discussed with Jan, I submit a patch preparing the implementation of 
supporting different call ABI's in one target. Therefore the macros 
OUTGOING_REG_PARM_STACK_SPACE and RETURN_IN_MEMORY need to get function 
decl/type parameters. Additionally I need to change some code in expr.c, 
function.c, and calls.c for providing a function declaration type to those 
macros AFAP.  This patch bring the RETURN_IN_MEMORY up to date with new 
target macro. May in a follow-up patch the RETURN_IN_MEMORY macro could be 
replaced by the TARGET_RETURN_IN_MEMORY ?

Is this patch OK ?

ChangeLog /gcc/gcc


        * gcc/config/alpha/unicosmk.h, gcc/config/arm/arm.c,
        gcc/config/arm/arm.h, gcc/config/bfin/bfin.h, 
gcc/config/cris/cris.h,
        gcc/config/i386/cygming.h, gcc/config/i386/i386-interix.h, 
gcc/config/i386/i386.h,
        gcc/config/i386/i386elf.h, gcc/config/i386/ptx4-i.h, 
gcc/config/i386/sol2-10.h,
        gcc/config/i386/sysv4.h, gcc/config/i386/vx-common.h, 
gcc/config/iq2000/iq2000.h,
        gcc/config/m68hc11/m68hc11.h, gcc/config/mips/mips.h, 
gcc/config/mn10300/mn10300.h,
        gcc/config/mt/mt.h, gcc/config/pa/pa.h, 
gcc/config/rs6000/rs6000.h,
        gcc/config/score/score.h, gcc/config/spu/spu.h, 
gcc/config/v850/v850.h,
        gcc/defaults.h,
        (OUTGOING_REG_PARM_STACK_SPACE): Add fndecl parm.
        (RETURN_IN_MEMORY): Add fntype parm.
        * gcc/calls.c: (finalize_must_preallocate): Add fndecl parm.
        (expand_call): Adjust OUTGOING_REG_PARM_STACK_SPACE parm.
        (emit_library_call_value_1): Likewise.
        * gcc/expr.c: (block_move_libcall_safe_for_call_parm): Adjust
        OUTGOING_REG_PARM_STACK_SPACE parm.
        * gcc/function.c: (STACK_DYNAMIC_OFFSET): Adjust
        OUTGOING_REG_PARM_STACK_SPACE parm.
        (allocate_struct_function): Add new optional hook 
OVERRIDE_ABI_FORMAT.
        * gcc/targhooks.c: (default_return_in_memory): Pass additonal parm
        to RETURN_IN_MEMORY.
        * gcc/doc/tm.texi: (OUTGOING_REG_PARM_STACK_SPACE): Adjust 
documentation
        about new parameter.



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_part1.txt
Description: Text document


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