[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.



> 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


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