ibc++abi: mark visibility

Mark functions and types with the appropriate visibility.  This is particularly
useful for environments which explicitly indicate origin of functions (Windows).
This aids in generating libc++abi as a DSO which exposes only the public
interfaces.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@254691 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/src/cxa_aux_runtime.cpp b/src/cxa_aux_runtime.cpp
index ad68e61..a455fad 100644
--- a/src/cxa_aux_runtime.cpp
+++ b/src/cxa_aux_runtime.cpp
@@ -16,14 +16,16 @@
 
 namespace __cxxabiv1 {
 extern "C" {
-LIBCXXABI_NORETURN
-void __cxa_bad_cast(void) { throw std::bad_cast(); }
+_LIBCXXABI_FUNC_VIS LIBCXXABI_NORETURN void __cxa_bad_cast(void) {
+  throw std::bad_cast();
+}
 
-LIBCXXABI_NORETURN
-void __cxa_bad_typeid(void) { throw std::bad_typeid(); }
+_LIBCXXABI_FUNC_VIS LIBCXXABI_NORETURN void __cxa_bad_typeid(void) {
+  throw std::bad_typeid();
+}
 
-LIBCXXABI_NORETURN
-void __cxa_throw_bad_array_new_length(void) {
+_LIBCXXABI_FUNC_VIS LIBCXXABI_NORETURN void
+__cxa_throw_bad_array_new_length(void) {
   throw std::bad_array_new_length();
 }
 } // extern "C"