[cfe-dev] what libc++ version introduced C++14 delete operators?
René J. V. Bertin via cfe-dev
cfe-dev at lists.llvm.org
Tue Dec 5 02:28:10 PST 2017
Marshall Clow via cfe-dev wrote:
> An imperfect test would be checking _LIBCPP_VERSION and if it is greater
> than 1101, then it will have those calls.
Thanks, that's better than nothing.
> This has two drawbacks:
> * There will be versions of libc++ where _LIBCPP_VERSION == 1101 and the
> calls exist.
The application here is a GCC patch I'm working on (and off :)) to give it a -
stdlib=libstdc++|libc++ option. With older libc++ versions it appears to be
possible to use GCC's static libsupc++ as a source for the missing operators. I
presume that a trailing -lsupc++ linker argument will simply become a noop when
libc++ already provided all dependencies. To be confirmed of course (and sadly I
have no idea ATM how to write a test case.)
> * There *may* be customized versions of libc++ where vendors have decided
> to not ship those calls. (I don't know of any, but ...).
Why would vendors have done that? The only reason I can see is to allow a newer
libc++ to be used with older clang versions that provided the operators
implicitly, but such combinations shouldn't cause problems anyway, right?
More information about the cfe-dev