[cfe-dev] anyone knows the current state of libc++ on windows?

Yaron Keren yaron.keren at gmail.com
Thu May 8 10:52:49 PDT 2014


I'm linking C++ code and so had not started testing cross-linking objects
due to the different C++ ABI.
The debug information format is completely different, C and C++.
I'm not sure the import library information is the same.
The library support routines are different.
Even with C code I think there will be obstacles to linking objects from
Visual C++ and MinGW.
DLLs with C interface do link OK.

I would be interesting to see MinGW and clang converging to Visual C++
object binary compatibility at least for C code. There had been changes in
this direction.




2014-05-08 20:08 GMT+03:00 Reid Kleckner <rnk at google.com>:

> On Thu, May 8, 2014 at 5:24 AM, Yaron Keren <yaron.keren at gmail.com> wrote:
>
>> clang can function in two different modes on Windows, MinGW compatible or
>> Visual C++ compatible.
>> The object formats are not compatible.
>>
>
> I think I know what you mean, but I wanted to clarify it a bit.
>
> MinGW and MSVC differ only in the C++ ABI and in passing structs by value
> in C.  If you limit yourself to COM or extern "C" interfaces that don't
> pass things by value, you can link object code from all three compilers,
> MSVC, GCC, and Clang, together and it will work.  Obviously, this is too
> limiting for many users, so Clang has support for both MinGW and MSVC C++
> ABIs now.
>
> Is there some other object file level incompatibility that I'm forgetting,
> like differing .drectve contents?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140508/24c0770a/attachment.html>


More information about the cfe-dev mailing list