Allow using libsupc++ with LIBCXX_ENABLE_STATIC_ABI_LIBRARY. Patch from Michael Daniels.
authorEric Fiselier <eric@efcs.ca>
Fri, 18 Nov 2016 22:25:41 +0000 (22:25 +0000)
committerEric Fiselier <eric@efcs.ca>
Fri, 18 Nov 2016 22:25:41 +0000 (22:25 +0000)
commit194e81f62039d415f58fd543b6d751bbf116d9d1
tree7b3da926bb933b8624dc16a9abf605d0321c91bb
parente40900dddd84ac77bd626564e0aec0d195c365b1
Allow using libsupc++ with LIBCXX_ENABLE_STATIC_ABI_LIBRARY. Patch from Michael Daniels.

The code cannot currently link when using libsupc++ with the
LIBCXX_ENABLE_STATIC_ABI_LIBRARY option.

This change ifdef's out the the destructor and 'what' function for
bad_array_length and bad_array_new_length when GLIBCXX is defined.
The constructors that are left in are the only functions not being provided by
libsupc++ itself, and follows the same pattern that was used to ifdef bad_alloc.

Testing was done on a Linux x86_64 host using GCC 5.4 and libc++ from ToT.
I see no change to the test results when using libsup++ or libstdc++ without
LIBCXX_ENABLE_STATIC_ABI_LIBRARY. When using libsupc++ with
LIBCXX_ENABLE_STATIC_ABI_LIBRARY it will now build and test results are the
same as those without the option specified.

Reviewed as https://reviews.llvm.org/D26186

llvm-svn: 287388
libcxx/src/new.cpp