From: "Casper Hornstrup" <chorns@users.sourceforge.net>
To: <gcc-patches@gcc.gnu.org>
Subject: [PATCH] Fastcall support on cygwin and mingw targets
Date: Wed, 20 Nov 2002 11:03:00 -0000 [thread overview]
Message-ID: <008401c290c7$762a71e0$0300000a@csiteoffice.csite.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 2601 bytes --]
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 #2: fastcall.tar.gz --]
[-- Type: application/octet-stream, Size: 5812 bytes --]
next reply other threads:[~2002-11-20 19:03 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-20 11:03 Casper Hornstrup [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-10-30 21:14 PATCH: Re: optimization/6162: gcc 3.0.4: certain i386 asm reloader ice Nathanael Nerode
2002-11-10 8:17 ` [PATCH] Fastcall support on cygwin and mingw targets Casper Hornstrup
2002-11-10 17:50 ` Fergus Henderson
2002-11-10 19:10 ` Christopher Faylor
2002-11-11 12:47 ` Casper Hornstrup
2002-11-11 12:27 ` Fergus Henderson
2002-11-12 10:45 ` Casper Hornstrup
2002-11-12 22:08 ` Fergus Henderson
2002-11-13 12:17 ` Casper Hornstrup
2002-11-13 15:47 ` Joseph S. Myers
2002-11-13 20:27 ` Fergus Henderson
2002-11-14 0:31 ` Joseph S. Myers
2002-11-14 8:28 ` Casper Hornstrup
2002-11-25 15:39 ` Richard Henderson
2002-11-27 19:52 ` Casper Hornstrup
2002-11-27 21:15 ` Casper Hornstrup
2002-11-27 22:19 ` Richard Henderson
2002-11-28 2:00 ` Richard Henderson
2002-12-02 13:25 ` Casper Hornstrup
2002-12-02 13:48 ` Richard Henderson
2002-12-03 13:52 ` Casper Hornstrup
2002-12-03 16:32 ` Richard Henderson
2002-12-08 4:08 ` Casper Hornstrup
2002-12-19 14:01 ` Richard Henderson
2002-12-19 14:07 ` Casper Hornstrup
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='008401c290c7$762a71e0$0300000a@csiteoffice.csite.com' \
--to=chorns@users.sourceforge.net \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).