PATCH: x86_64-pc-mingw32 target for gcc

Richard Henderson
Wed Mar 21 18:18:00 GMT 2007

On Wed, Mar 21, 2007 at 05:36:28PM +0100, Kai Tietz wrote:
> > I don't see anything in the MSDN that specifies that these keywords
> > apply to the 64-bit version.  Their language is very 32-bit specific,
> > which to me implies that they don't apply.
> Please, read
> and may further.

I did so:

 # On Itanium Processor Family (IPF) and x64 processors,
 # __stdcall is accepted and ignored by the compiler;

I see the same "accepted and ignored" language for __fastcall.

> Especially the fact that the called function pops the 
> stack on return remains even for _WIN64.

I don't see that explicitly mentioned in the win64 calling conventions
section.  I'd be hesitant to believe it though; it seems to conflict
with this bit from the Stack Allocation section:

  # The stack will always be maintained 16-byte aligned, except within
  # the prolog (for example, after the return address is pushed) ...

If we were popping the arguments, I'd expect

  void f5(int a, int b, int c, int d, int e)

to leave the stack mis-aligned, since it would need to pop 8 bytes of


PS: Please stop cc'ing the closed mingw list, none of the gcc
developers can post back to it, and we'll keep getting nasty
bounce messages.

More information about the Gcc-patches mailing list