summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxxabi/src/private_typeinfo.cpp13
-rw-r--r--libcxxabi/src/typeinfo.cpp57
2 files changed, 57 insertions, 13 deletions
diff --git a/libcxxabi/src/private_typeinfo.cpp b/libcxxabi/src/private_typeinfo.cpp
index 2bf25e7bbc1..cbe4cdaa6f0 100644
--- a/libcxxabi/src/private_typeinfo.cpp
+++ b/libcxxabi/src/private_typeinfo.cpp
@@ -13,19 +13,6 @@
#include <iostream>
-namespace std
-{
-
-#pragma GCC visibility push(default)
-
-type_info::~type_info()
-{
-}
-
-#pragma GCC visibility pop
-
-} // std
-
namespace __cxxabiv1
{
diff --git a/libcxxabi/src/typeinfo.cpp b/libcxxabi/src/typeinfo.cpp
new file mode 100644
index 00000000000..f1ae504b3c8
--- /dev/null
+++ b/libcxxabi/src/typeinfo.cpp
@@ -0,0 +1,57 @@
+//===----------------------------- typeinfo.cpp ---------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include <typeinfo>
+
+#pragma GCC visibility push(default)
+
+namespace std
+{
+
+// type_info
+
+type_info::~type_info()
+{
+}
+
+// bad_cast
+
+bad_cast::bad_cast() _NOEXCEPT
+{
+}
+
+bad_cast::~bad_cast() _NOEXCEPT
+{
+}
+
+const char*
+bad_cast::what() const _NOEXCEPT
+{
+ return "std::bad_cast";
+}
+
+// bad_typeid
+
+bad_typeid::bad_typeid() _NOEXCEPT
+{
+}
+
+bad_typeid::~bad_typeid() _NOEXCEPT
+{
+}
+
+const char*
+bad_typeid::what() const _NOEXCEPT
+{
+ return "std::bad_typeid";
+}
+
+} // std
+
+#pragma GCC visibility pop
OpenPOWER on IntegriCloud