This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [PATCH] Fastcall support on cygwin and mingw targets
- From: "Casper Hornstrup" <chorns at users dot sourceforge dot net>
- To: "'Fergus Henderson'" <fjh at cs dot mu dot OZ dot AU>
- Cc: <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 12 Nov 2002 19:45:00 +0100
- Subject: RE: [PATCH] Fastcall support on cygwin and mingw targets
> -----Original Message-----
> From: Fergus Henderson [mailto:fjh@ceres.cs.mu.OZ.AU] On
> Behalf Of Fergus Henderson
> Sent: 11. november 2002 20:28
> To: Casper Hornstrup
> Cc: gcc-patches@gcc.gnu.org
> Subject: Re: [PATCH] Fastcall support on cygwin and mingw targets
>
>
> On 11-Nov-2002, Casper Hornstrup <chorns@users.sourceforge.net> wrote:
> >
> > > What happens if a function has multiple attributes,
> > > e.g. both fastcall and stdcall or both fastcall and
> > > regparm(3)? It may be worth adding a test for that case.
> > >
> >
> > stdcall attribute after fastcall attribute - fastcall calling
> > convention is used, but the symbol is prefixed with _ not @.
> >
> > Obviously a bug, but how should this situation be handled? Which
> > attribute should win and should gcc emit a warning or error out?
> >
> > fastcall attribute after stdcall attribute - same result. fastcall
> > attribute after regparm(3) attribute - fastcall wins.
> > regparm(3) attribute after fastcall attribute - fastcall wins.
>
> IMHO the desirable behaviour is for gcc to report an error
> in all of these cases.
Where/how should this check be performed? It can't be done in the
attribute handler since all attributes may not be added to the
attribute list yet.
>
> > > >+ The @code{fastcall} calling convention exists in
> Windows NT for
> > > >+ Intel
> > > >+ processors only.
> > >
> > > That part of the documentation is wrong.
> > > Cygwin and Mingw work on most variants of Windows, not just
> > > Windows NT.
> >
> > I think it is a reference to fastcall only being used on
> Intel Windows
> > NT platforms (eg. it was not used on Windows NT/Alpha). Maybe it
> > should be removed?
>
> Either that, or just delete the "NT".
I'll delete "NT".