[LLVMdev] Handling SRet on Windows x86
echristo at gmail.com
Thu Mar 28 11:47:01 PDT 2013
>> MSVC is not the system compiler. Certainly, it is not distributed with
> >> the system. Actually, MSVC was a secondary player on Windows for a long
> >> time, with several other C++ ABI-incompatible options available.
> > It isn't shipped with the system, but it's freely available as part of
> > Windows SDK,
> That's a recent development which is irrelevant to this discussion.
> g++ and clang++ are freely available too.
> > and most binary library packages for Windows are shipped as
> > MSVC binaries.
> Irrelevant too, since those "MSVC binaries" (whatever that means) are
> usable by the other compilers.
> > *-*-win32 and *-*-mingw32 are different targets. Aside from C++, it's
> > useful to be able to use Clang as an MSVC compatible C99 compiler, since
> > MSVC itself only supports C89, and it's useful for LLVM to be usable by
> > other frontends that want MSVC compatibility. The win32 target can
> > that independent of the mingw target, which should of course remain
> > compatible with mingw's ABI.
> It only makes sense to talk about "MinGW's ABI" vs "MSVC ABI" in the
> context of C++, so your mention of C99 is also irrelevant.
In my opinion none of these are irrelevant. Mingw and cygwin are separate
ABIs that deal with some C compatibility (problems mentioned in this thread
are important here too) and give you the ability to work with low level C
libraries on windows, but if you want true compatibility with the full
those ABIs are insufficient. If you think these are irrelevant points then
need to state why and should back it up with less dismissive language.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev