add headers and implementation for <new>, <exception>, and <typeinfo>

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103795 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/new b/include/new
index 9baabdc..0043792 100644
--- a/include/new
+++ b/include/new
@@ -65,7 +65,7 @@
     : 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 @@
     : 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;