llvm-project/libcxx
Eric Fiselier 5d25843f66 Fix configuring and building libc++ w/o an ABI library.
Typically libc++ uses libc++abi or libcxxrt to provide the ABI and runtime bits
of the C++ STL. However we also support building w/o an ABI library entirely.
This patch fixes building libc++ w/o an ABI library (and incorporates the
`~type_info()` fix in D28211).

The main changes in this patch are:

1) Add `-DLIBCXX_CXX_ABI=default` instead of using the empty string to mean "default".
2) Fix CMake bits which treated "none" as "default" on OS X.
3) Teach the source files to respect `-D_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY`.
4) Define ~type_info() when _LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY is defined.

Unfortunately this patch doesn't help clean up the macro mess that we use to
configure for different ABI libraries.

llvm-svn: 290839
2017-01-02 21:58:06 +00:00
..
benchmarks improve performance of string::find 2016-12-30 18:01:36 +00:00
cmake Fix configuring and building libc++ w/o an ABI library. 2017-01-02 21:58:06 +00:00
docs Remove dead debug_mode doc link 2016-12-28 06:21:09 +00:00
include Rework fix for PR19460 - Use explicit bool as an extension instead. 2017-01-02 20:15:33 +00:00
lib Fix configuring and building libc++ w/o an ABI library. 2017-01-02 21:58:06 +00:00
src Fix configuring and building libc++ w/o an ABI library. 2017-01-02 21:58:06 +00:00
test Fix some 'FIXME's in the tests. 2016-12-30 17:42:11 +00:00
utils Make LIBCXX_ENABLE_STATIC_ABI_LIBRARY merge libc++.a and libc++abi.a 2016-11-18 19:53:45 +00:00
www Update "Making Optional Greater Equal Again" paper status 2016-12-30 04:16:30 +00:00
.arcconfig Upgrade arcconfig to use https 2016-07-18 02:02:49 +00:00
.clang-format fix misspelling in .clang-format 2016-12-09 03:18:45 +00:00
.gitignore Implement N4606 optional 2016-10-12 07:46:20 +00:00
CMakeLists.txt Fix configuring and building libc++ w/o an ABI library. 2017-01-02 21:58:06 +00:00
CREDITS.TXT Add entry to CREDITS.TXT for propagate_const 2016-06-19 19:36:28 +00:00
LICENSE.TXT Update copyright year to 2016. 2016-03-30 22:39:53 +00:00
NOTES.TXT Update doc and various cleanup 2016-12-23 20:00:13 +00:00
TODO.TXT Update doc and various cleanup 2016-12-23 20:00:13 +00:00