On Sun, Oct 30, 2016 at 12:32 PM, Joerg Sonnenberger <jo...@bec.de> wrote:
> On Sun, Oct 30, 2016 at 12:54:28PM -0600, Eric Fiselier wrote:
> > Richard requested this change. Take a look at
> > https://reviews.llvm.org/D26044 for more rational.
>
> I don't see much rational and in fact, I disagree with some of the
> mentioned items. E.g. presence of libc++ won't tell you if you can use
> sized deallocation as that's a ABI library issue.


The real situation is a lot more subtle than that. Every one of libc++abi,
libcxxrt, libc++, libsupc++, and libstdc++ provides definitions of global
operator new and operator delete. It's obviously not part of the Itanium
C++ ABI, so it's not the responsibility of a pure "ABI library" to provide
it, but the boundary between the ABI library and the standard library has
never been formally defined.

In any case, the point is that libc++ does provide the relevant symbols,
except when using libstdc++ as its ABI library (in which case it leaves
them to libstdc++ to define). libc++abi does not define sized delete nor
aligned new/delete.

(And for what it's worth, we will also need to detect the version of the
ABI library to correctly enable/disable support for other features.)
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to