[cfe-commits] [libcxx] r150835 - in /libcxx/trunk: lib/libc++abi2.exp src/stdexcept.cpp

Howard Hinnant hhinnant at apple.com
Fri Feb 17 11:24:42 PST 2012


Author: hhinnant
Date: Fri Feb 17 13:24:42 2012
New Revision: 150835

URL: http://llvm.org/viewvc/llvm-project?rev=150835&view=rev
Log:
Move typeinfos for exceptions in <stdexcept> to the abi

Modified:
    libcxx/trunk/lib/libc++abi2.exp
    libcxx/trunk/src/stdexcept.cpp

Modified: libcxx/trunk/lib/libc++abi2.exp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/lib/libc%2B%2Babi2.exp?rev=150835&r1=150834&r2=150835&view=diff
==============================================================================
--- libcxx/trunk/lib/libc++abi2.exp (original)
+++ libcxx/trunk/lib/libc++abi2.exp Fri Feb 17 13:24:42 2012
@@ -201,3 +201,68 @@
 __ZTISt8bad_cast
 ___cxa_bad_typeid
 ___cxa_bad_cast
+
+__ZNKSt11logic_error4whatEv
+__ZNSt11logic_errorD0Ev
+__ZNSt11logic_errorD1Ev
+__ZNSt11logic_errorD2Ev
+__ZTISt11logic_error
+__ZTSSt11logic_error
+__ZTVSt11logic_error
+
+__ZNKSt13runtime_error4whatEv
+__ZNSt13runtime_errorD0Ev
+__ZNSt13runtime_errorD1Ev
+__ZNSt13runtime_errorD2Ev
+__ZTISt13runtime_error
+__ZTSSt13runtime_error
+__ZTVSt13runtime_error
+
+__ZNSt11range_errorD0Ev
+__ZNSt11range_errorD1Ev
+__ZNSt11range_errorD2Ev
+__ZTISt11range_error
+__ZTSSt11range_error
+__ZTVSt11range_error
+
+__ZNSt12domain_errorD0Ev
+__ZNSt12domain_errorD1Ev
+__ZNSt12domain_errorD2Ev
+__ZTISt12domain_error
+__ZTSSt12domain_error
+__ZTVSt12domain_error
+
+__ZNSt12length_errorD0Ev
+__ZNSt12length_errorD1Ev
+__ZNSt12length_errorD2Ev
+__ZTISt12length_error
+__ZTSSt12length_error
+__ZTVSt12length_error
+
+__ZNSt12out_of_rangeD0Ev
+__ZNSt12out_of_rangeD1Ev
+__ZNSt12out_of_rangeD2Ev
+__ZTISt12out_of_range
+__ZTSSt12out_of_range
+__ZTVSt12out_of_range
+
+__ZNSt14overflow_errorD0Ev
+__ZNSt14overflow_errorD1Ev
+__ZNSt14overflow_errorD2Ev
+__ZTISt14overflow_error
+__ZTSSt14overflow_error
+__ZTVSt14overflow_error
+
+__ZNSt15underflow_errorD0Ev
+__ZNSt15underflow_errorD1Ev
+__ZNSt15underflow_errorD2Ev
+__ZTISt15underflow_error
+__ZTSSt15underflow_error
+__ZTVSt15underflow_error
+
+__ZNSt16invalid_argumentD0Ev
+__ZNSt16invalid_argumentD1Ev
+__ZNSt16invalid_argumentD2Ev
+__ZTISt16invalid_argument
+__ZTSSt16invalid_argument
+__ZTVSt16invalid_argument

Modified: libcxx/trunk/src/stdexcept.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/src/stdexcept.cpp?rev=150835&r1=150834&r2=150835&view=diff
==============================================================================
--- libcxx/trunk/src/stdexcept.cpp (original)
+++ libcxx/trunk/src/stdexcept.cpp Fri Feb 17 13:24:42 2012
@@ -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





More information about the cfe-commits mailing list