<br><br><div class="gmail_quote">On Tue, May 11, 2010 at 7:34 PM, Howard Hinnant <span dir="ltr"><<a href="mailto:hhinnant@apple.com">hhinnant@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On May 11, 2010, at 10:11 PM, Peter O'Gorman wrote:<br>
<br>
> On 05/11/2010 08:59 PM, Chris Lattner wrote:<br>
>> Internally, we have factored that code out of libstdc++ (this is<br>
>> largely code that lives in "libsup++") into a library currently<br>
>> called libc++abi.dylib.<br>
><br>
> What's the harm in putting that source in llvm svn also?<br>
<br>
</div></div>For the current time, Apple is going to maintain ABI compatibility of some low-level bits between libstdc++ and libc++.  This is so that clients can create applications that link to disparate dynamic libraries, some which use libstdc++, some which use libc++, and still be able to function with exceptions being thrown across dylib boundaries and one somebody replacing operator new.<br>

<br>
With this in mind, it makes sense for us to separate out the ABI stable bits into a 3rd lib which serves an ABI (but not necessarily an API) to both libstdc++ and libc++.  As Chris mentioned, this is essentially gcc's libsup++.<br>

<font color="#888888"><br>
-Howard<br>
</font><div><div></div><div class="h5"><br></div></div></blockquote><div><br></div><div>C++ not specifying an ABI has been quite a pain in the past for me as a professional software developer.  Different versions of gcc wouldn't even work. I believe an ABI was specified for Itanium by the CodeSourcery folks, but I don't know that anyone ever tried to nail this down for AMD64 or IA32.</div>
<div><br></div><div>Dave</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div class="h5">
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br>