Move typeinfos for exceptions in <stdexcept> to the abi

llvm-svn: 150835
diff --git a/libcxx/src/stdexcept.cpp b/libcxx/src/stdexcept.cpp
index 2891788..b516b0c 100644
--- a/libcxx/src/stdexcept.cpp
+++ b/libcxx/src/stdexcept.cpp
@@ -15,6 +15,7 @@
 #include <cstdint>
 #include <cstddef>
 #include "system_error"
+#include <cxxabi.h>
 
 // Note:  optimize for size
 
@@ -113,6 +114,8 @@
     return *this;
 }
 
+#ifndef _LIBCPPABI_VERSION
+
 logic_error::~logic_error() _NOEXCEPT
 {
     __libcpp_nmstr& s = (__libcpp_nmstr&)__imp_;
@@ -126,6 +129,8 @@
     return s.c_str();
 }
 
+#endif
+
 runtime_error::runtime_error(const string& msg)
 {
     __libcpp_nmstr& s = (__libcpp_nmstr&)__imp_;
@@ -153,6 +158,8 @@
     return *this;
 }
 
+#ifndef _LIBCPPABI_VERSION
+
 runtime_error::~runtime_error() _NOEXCEPT
 {
     __libcpp_nmstr& s = (__libcpp_nmstr&)__imp_;
@@ -175,4 +182,6 @@
 overflow_error::~overflow_error() _NOEXCEPT {}
 underflow_error::~underflow_error() _NOEXCEPT {}
 
+#endif
+
 }  // std