[LLVMdev] Handling SRet on Windows x86

Óscar Fuentes ofv at wanadoo.es
Tue Oct 2 08:00:04 PDT 2012


Timur Iskhodzhanov <timurrrr at google.com> writes:

> Hello Aaron, Anton, LLVM-dev,
>
> While working on http://llvm.org/PR13676#c6
> I found out that whenever I compile code with class methods returning
> structures it get generated incompatible with MSVC.

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

[snip]

> Hints and suggestions on fixing this are welcome!

LLVM supports the g++ C++ ABI. Your change breaks that. Please note that
this is not a Windows issue, it is a MSVC++ issue, as g++ works fine on
Windows too.

There are other issues with paramenter passing and the MSVC++ ABI, see
for instance

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

IIRC LLVM needs susbstantial modifications for supporting function calls
compatible with MSVC++, or the frontend that uses LLVM has to do quite a
bit of hacking for working around LLVM's limitations.




More information about the llvm-dev mailing list