Hi,
I hope this is the right place to ask:
What libc++ release version first had the C++14 new & delete operators (specifically, delete(void*, size_t))? I think they were introduced in svn rev. 229281 .
I'm interested in particular how one can test for presence of these functions, preferably with an actual linking step (aka autoconf test).
Thanks!
René
release.
An imperfect test would be checking _LIBCPP_VERSION and if it is greater
than 1101, then it will have those calls.
This has two drawbacks:
* There will be versions of libc++ where _LIBCPP_VERSION == 1101 and the
calls exist.
* There *may* be customized versions of libc++ where vendors have decided
to not ship those calls. (I don't know of any, but ...).
-- Marshall
Hi,
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?
R.
Thanks, I'll have a look at those next time I come back to this lil' pet project

R.