diff options
author | Nick Kledzik <kledzik@apple.com> | 2010-05-14 20:19:37 +0000 |
---|---|---|
committer | Nick Kledzik <kledzik@apple.com> | 2010-05-14 20:19:37 +0000 |
commit | 111e0cbe5159e1bb23c3beb60e959b656b509eab (patch) | |
tree | 72ef6077b7ad5cecda870de1dd31dc8b527e6141 /libcxx/include | |
parent | 749c758632520b4ca64133c70aa4b775310fe5e7 (diff) | |
download | bcm5719-llvm-111e0cbe5159e1bb23c3beb60e959b656b509eab.tar.gz bcm5719-llvm-111e0cbe5159e1bb23c3beb60e959b656b509eab.zip |
add headers and implementation for <new>, <exception>, and <typeinfo>
llvm-svn: 103795
Diffstat (limited to 'libcxx/include')
-rw-r--r-- | libcxx/include/new | 6 | ||||
-rw-r--r-- | libcxx/include/typeinfo | 23 |
2 files changed, 10 insertions, 19 deletions
diff --git a/libcxx/include/new b/libcxx/include/new index 9baabdcd561..00437927557 100644 --- a/libcxx/include/new +++ b/libcxx/include/new @@ -65,7 +65,7 @@ class _LIBCPP_EXCEPTION_ABI bad_alloc : public exception { public: - _LIBCPP_INLINE_VISIBILITY bad_alloc() throw() {} + bad_alloc() throw(); virtual ~bad_alloc() throw(); virtual const char* what() const throw(); }; @@ -74,12 +74,12 @@ class _LIBCPP_EXCEPTION_ABI bad_array_new_length : public bad_alloc { public: - _LIBCPP_INLINE_VISIBILITY bad_array_new_length() throw() {} + bad_array_new_length() throw(); virtual ~bad_array_new_length() throw(); virtual const char* what() const throw(); }; -void __throw_bad_alloc(); +void __throw_bad_alloc(); // not in C++ spec struct nothrow_t {}; extern _LIBCPP_VISIBLE const nothrow_t nothrow; diff --git a/libcxx/include/typeinfo b/libcxx/include/typeinfo index 9b225419271..8762de7a78c 100644 --- a/libcxx/include/typeinfo +++ b/libcxx/include/typeinfo @@ -63,17 +63,11 @@ public: #pragma GCC system_header -#pragma GCC visibility push(default) - -namespace __cxxabiv1 -{ - class __class_type_info; -} namespace std // purposefully not using versioning namespace { -class type_info +class _LIBCPP_EXCEPTION_ABI type_info { type_info& operator=(const type_info&); type_info(const type_info&); @@ -98,32 +92,29 @@ public: bool operator!=(const type_info& __arg) const {return !operator==(__arg);} - virtual bool __is_pointer_p() const; - virtual bool __is_function_p() const; - virtual bool __do_catch(const type_info*, void**, unsigned) const; - virtual bool __do_upcast(const __cxxabiv1::__class_type_info*, void**) const; }; -class bad_cast +class _LIBCPP_EXCEPTION_ABI bad_cast : public exception { public: - bad_cast() throw() {} + bad_cast() throw(); virtual ~bad_cast() throw(); virtual const char* what() const throw(); }; -class bad_typeid +class _LIBCPP_EXCEPTION_ABI bad_typeid : public exception { public: - bad_typeid () throw() { } + bad_typeid() throw(); virtual ~bad_typeid() throw(); virtual const char* what() const throw(); }; + } // std -#pragma GCC visibility pop + #endif // __LIBCPP_TYPEINFO |