summaryrefslogtreecommitdiffstats
path: root/libcxx/include
diff options
context:
space:
mode:
authorNick Kledzik <kledzik@apple.com>2010-05-14 20:19:37 +0000
committerNick Kledzik <kledzik@apple.com>2010-05-14 20:19:37 +0000
commit111e0cbe5159e1bb23c3beb60e959b656b509eab (patch)
tree72ef6077b7ad5cecda870de1dd31dc8b527e6141 /libcxx/include
parent749c758632520b4ca64133c70aa4b775310fe5e7 (diff)
downloadbcm5719-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/new6
-rw-r--r--libcxx/include/typeinfo23
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
OpenPOWER on IntegriCloud