<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, May 8, 2014 at 5:24 AM, Yaron Keren <span dir="ltr"><<a href="mailto:yaron.keren@gmail.com" target="_blank">yaron.keren@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="rtl"><div dir="ltr">clang can function in two different modes on Windows, MinGW compatible or Visual C++ compatible.</div>
<div dir="ltr">The object formats are not compatible.</div></div></blockquote><div><br></div><div>I think I know what you mean, but I wanted to clarify it a bit.</div><div><br></div><div>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.</div>
<div><br></div><div>Is there some other object file level incompatibility that I'm forgetting, like differing .drectve contents?</div></div></div></div>