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] |
This is a refresh of the patch that implements support in gcc for the fastcall calling convention on cygwin and mingw targets (found here: http://gcc.gnu.org/ml/gcc-patches/2002-11/msg00638.html). This version of the patch includes changes as suggested by people on this list. gcc/testsuite/ChangeLog 2002-11-13 Casper S. Hornstrup <chorns@users.sourceforge.net> * gcc.c-torture/compile/20021110-1.c: New test. * gcc.c-torture/compile/20021110-1.x: Likewise. * gcc.c-torture/compile/20021110-2.c: Likewise. * gcc.c-torture/compile/20021110-2.x: Likewise. * gcc.c-torture/compile/20021110-3.c: Likewise. * gcc.c-torture/compile/20021110-3.x: Likewise. * gcc.c-torture/compile/20021110-4.c: Likewise. * gcc.c-torture/compile/20021110-4.x: Likewise. gcc/ChangeLog 2002-11-13 Casper S. Hornstrup <chorns@users.sourceforge.net> * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for attributes incompatible with fastcall attribute. (ix86_handle_regparm_attribute): Likewise. 2002-11-13 Danny Smith <dannysmith@users.sourceforge.net> * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched fastcall types. 2002-11-13 Eric Kohl <ekohl@rz-online.de> * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall attributes. (ASM_OUTPUT_LABELREF): Add __imp_ prefix now rather than in winnt.c. * config/i386/winnt.c (i386_pe_mark_dllimport). Convert internal fastcall decoration to MS-compatible decoration. Add __imp_ prefix in ASM_OUTPUT_LABELREF rather than here. * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a valid attribute. (ix86_return_pops_args): Fastcall functions pop the stack. (init_cumulative_args): Reserve registers ECX and EDX if function has fastcall attribute. (function_arg): Use registers ECX and EDX if function has fastcall attribute. * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag. * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall attributes. * config/i386/winnt.c (gen_fastcall_suffix): New function. Decorates a label name with a preliminary fastcall prefix (+) and the stdcall suffix. (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol has a fastcall attribute. (i386_pe_strip_name_encoding): Return length of internal fastcall prefix (+). (i386_pe_fastcall_name_p): New function. Checks a symbol for presence of internal fastcall prefix ('+' prefix). (i386_pe_asm_file_end): Converts internal fastcall prefix ('+' prefix) into the Microsoft compatible '@' prefix. * doc/extend.texi: Add documentation of fastcall attribute.
Attachment:
fastcall.tar.gz
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |