<div dir="ltr"><div>I guess this is <a href="http://llvm.org/bugs/show_bug.cgi?id=12684">http://llvm.org/bugs/show_bug.cgi?id=12684</a> .</div><div><br></div><div>Is this worth a flag, or should we just tell people to go use 3.3?  GCC seems to have an -mabi=(sysv|ms) flag that looks like a much weaker form of our -cxx-abi flag, in that it only tries to solve COM ABI compatibility.<br>
</div><div><br></div><div>gcc users appear to wish they had a flag (<a href="http://gcc.gnu.org/ml/gcc/2012-05/msg00325.html">http://gcc.gnu.org/ml/gcc/2012-05/msg00325.html</a>), but the only reason that particular user wanted a flag was due to our own mingw ABI incompatibility!  Oops.</div>
<div><br></div><div>----</div><div><br></div>There's one other huge thing here: "- Windows mingw targets are using the -mms-bitfields option by default."<div><br></div><div>Our -[fm]ms-bitfields support is not very good.  The logic is now duplicated between MicrosoftRecordLayoutBuilder and the normal RecordLayoutBuilder, and I've heard from Warren that the existing logic is incorrect in some cases anyway.</div>
<div><br></div><div>IMO we should factor it so that have separate code doing the C++ object record layout which then calls down into shared bitfield layout code when it encounters a string of bitfields.</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Tue, Nov 19, 2013 at 1:03 PM, Rafael Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Now that 3.4 branched and we will soon require gcc 4.7 to build, it<br>
probably makes more sense to use the new gcc 4.7 abi on mingw.<br>
<br>
The difference is documented is<br>
<a href="http://gcc.gnu.org/gcc-4.7/changes.html" target="_blank">http://gcc.gnu.org/gcc-4.7/changes.html</a>. GCC now uses thiscall by<br>
default for methods. This also has the benefit of helping shake down<br>
bugs since this is also true in the win32 abi.<br>
<br>
Cheers,<br>
Rafael<br>
</blockquote></div><br></div>