<div dir="ltr"><span style="color:rgb(80,0,80)">On Wed, Mar 27, 2013 at 8:15 PM, Chandler Carruth </span><span dir="ltr" style="color:rgb(80,0,80)"><<a href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.com</a>></span><span style="color:rgb(80,0,80)"> wrote:</span><br>
<div class="gmail_quote"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><span style="color:rgb(34,34,34)">This is why I suggest that the Windows ABI is whatever MSVC happens to do. The mingw ABI happens to consist of a conjunction of what MSVC does for C and what GCC on Linux does for C++. That is a unique and different ABI, and I don't think you can reasonably call it *just* "windows" at any point.</span><br>

</div><div class="gmail_extra"><div class="gmail_quote"><span><font color="#888888">
<div><br></div></font></span></div></div></div></blockquote></div><div>This isn't quite true. Mingw and MSVC's ABIs on i386 also differ at the C level—for instance, alignment of pass-by-value structs sometimes differs, and an sret pointer is callee-cleanup in MSVC but caller-cleanup in Mingw. There are other differences too.</div>
<span class="HOEnZb"><font color="#888888">
<div><br></div><div>-Joe</div></font></span></div></div></div>
</div><br></div>