[LLVMbugs] [Bug 10707] Caller forgets to adjust stack in varargs stdcall calls

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat Aug 20 04:41:49 PDT 2011


http://llvm.org/bugs/show_bug.cgi?id=10707

Duncan Sands <baldrick at free.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID

--- Comment #9 from Duncan Sands <baldrick at free.fr> 2011-08-20 06:41:49 CDT ---
After investigating further, I think this is a front-end problem.  Both clang
and llvm-gcc/dragonegg represent a C function "XYZ f()" as being varargs.  With
the stdcall convention, the code generators thus don't adjust the stack after
the
call, which is correct for a varargs call.  The reason GCC does adjust the
stack
is that it doesn't consider this to be a varargs call.  In the case of a real
varargs call (eg: to "XYZ f(int, ...)") GCC does the same as LLVM and doesn't
adjust the stack after the call.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list