This is the mail archive of the 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]

RE: [PATCH] Fastcall support on cygwin and mingw targets

> -----Original Message-----
> From: Richard Henderson [] 
> Sent: 26. november 2002 00:39
> To: Casper Hornstrup
> Cc:
> Subject: Re: [PATCH] Fastcall support on cygwin and mingw targets
> First, please avoid putting the patch into a tarball.  It 
> just makes it harder to review.

I will do that.

> On Thu, Nov 14, 2002 at 05:28:25PM +0100, Casper Hornstrup wrote:
> > ! /* Output a reference to a label. Fastcall symbols are 
> prefixed with @,
> > !    whereas symbols for functions using other calling 
> conventions don't
> > !    have a prefix (unless they are marked dllimport or dllexport).
> > !    Internally, @ is used as a prefix for symbols that are 
> marked dllimport
> > !    or dllexport so internally the prefix + is used for 
> fastcall symbols. */
> (1) This is now so big it should be moved to an external function.
> (2) The frobbing of @ and + is confusing.  It is not *required*
>     that @ be used for dllimport/export.  I'd prefer to first see
>     a patch that replaced the literal @ with a macro; then the macro
>     can expand to something other than @, and your life is happier.

Okay, lets take care of the dllimport/dllexport macro patch first then.
I have attached a patch that does this.

> > + The @code{fastcall} calling convention exists in Windows 
> for Intel 
> > + processors only.
> This is false.  It exists on all ia32 targets.  The name 
> mangling only happens on Windows, but that is not required 
> for the calling convention to be in effect.

I will remove that sentence in the next version of the patch.

2002-11-27  Casper S. Hornstrup  <>

	* config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
	* config/i386/winnt.c (i386_pe_dllexport_name_p): Use
	(i386_pe_dllimport_name_p): Likewise.
	(i386_pe_mark_dllexport): Likewise.
	(i386_pe_mark_dllimport): Likewise.
	(i386_pe_encode_section_info): Likewise.
	(i386_pe_strip_name_encoding): Likewise.

Attachment: dll.diff
Description: Binary data

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