[libcxxabi] Introduce a -fno-exceptions libc++abi libary variant

Currently there is only support for a -fno-exceptions libc++ build. This is
problematic for functions such as std::terminate() which are defined in
libc++abi and using any of those functions throws away most of the benefits
of using -fno-exceptions (code-size). This patch introduces a -fno-exceptions
libc++abi build to address this issue.

This new variant of libc++abi cannot be linked against any with-exceptions
code as some symbols necessary for handling exceptions are missing in this
library.

Differential revision: http://reviews.llvm.org/D20677

Reviewers: EricWF, mclow.lists, bcraig
llvm-svn: 271267
diff --git a/libcxxabi/test/catch_member_function_pointer_01.pass.cpp b/libcxxabi/test/catch_member_function_pointer_01.pass.cpp
index 9b81730..b7bdcb6 100644
--- a/libcxxabi/test/catch_member_function_pointer_01.pass.cpp
+++ b/libcxxabi/test/catch_member_function_pointer_01.pass.cpp
@@ -10,6 +10,7 @@
 // GCC incorrectly allows PMF type "void (T::*)()" to be caught as "void (T::*)() const"
 // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69375
 // XFAIL: gcc
+// UNSUPPORTED: libcxxabi-no-exceptions
 #include <cassert>
 
 struct A