https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87495

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu.org

--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> ---
I wonder whether that's an ABI problem.

At least, if I use "-m32", it compiles without warning – while -m64 shows the
warning on my 86-64-gnu-linux.

I also see the following in doc/extend.texi:

@item fastcall
@cindex @code{fastcall} function attribute, x86-32
@cindex functions that pop the argument stack on x86-32
On x86-32 targets, the @code{fastcall} attribute causes the compiler to
pass the first argument (if of integral type) in the register ECX and
the second argument (if of integral type) in the register EDX@.  Subsequent
and other typed arguments are passed on the stack.  The called function
pops the arguments off the stack.  If the number of arguments is variable all
arguments are pushed on the stack.

Side note: on Microsoft's page, I do see a __fastcall for x64 Windows:
https://msdn.microsoft.com/en-us/library/ms235286.aspx

Reply via email to