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