http://llvm.org/bugs/show_bug.cgi?id=5058
Summary: Support for sret the msvc++ way.
Product: libraries
Version: trunk
Platform: PC
OS/Version: Windows XP
Status: NEW
Severity: major
Priority: P2
Component: Backend: X86
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Contrary to gcc, on msvc++ is the caller the responsible of freeing the stack
space used by the sret pointer parameter.
Right now if LLVM code calls a function compiled with msvc++ that returns a
struct, the application will crash due to the unbalanced stack (if the
signature of the external function contains sret. If no sret is used and the
address of the return struct is passed as a regular parameter, the call works).
There are other differences on sret handling among gcc and msvc++. Those are
listed on page 20 of
http://www.agner.org/optimize/calling_conventions.pdf
--
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs