diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-12-04 02:14:58 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-12-04 02:14:58 +0000 |
commit | b4ec5796f2d2d0c7bf3faeb87ce87281c185b28e (patch) | |
tree | a03ac48a7bc826682ba85d2832d1b844c10999e6 /src/cxa_guard.cpp | |
parent | 77a304b28be4b50a508298d6a0e40ee9d4bb3ccd (diff) |
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
Diffstat (limited to 'src/cxa_guard.cpp')
-rw-r--r-- | src/cxa_guard.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/cxa_guard.cpp b/src/cxa_guard.cpp index 041797c..72e868f 100644 --- a/src/cxa_guard.cpp +++ b/src/cxa_guard.cpp @@ -7,6 +7,8 @@ // //===----------------------------------------------------------------------===// +#include "__cxxabi_config.h" + #include "abort_message.h" #include "config.h" @@ -167,22 +169,22 @@ extern "C" { #if LIBCXXABI_HAS_NO_THREADS -int __cxa_guard_acquire(guard_type *guard_object) { +_LIBCXXABI_FUNC_VIS int __cxa_guard_acquire(guard_type *guard_object) { return !is_initialized(guard_object); } -void __cxa_guard_release(guard_type *guard_object) { +_LIBCXXABI_FUNC_VIS void __cxa_guard_release(guard_type *guard_object) { *guard_object = 0; set_initialized(guard_object); } -void __cxa_guard_abort(guard_type *guard_object) { +_LIBCXXABI_FUNC_VIS void __cxa_guard_abort(guard_type *guard_object) { *guard_object = 0; } #else // !LIBCXXABI_HAS_NO_THREADS -int __cxa_guard_acquire(guard_type *guard_object) { +_LIBCXXABI_FUNC_VIS int __cxa_guard_acquire(guard_type *guard_object) { char* initialized = (char*)guard_object; if (pthread_mutex_lock(&guard_mut)) abort_message("__cxa_guard_acquire failed to acquire mutex"); @@ -223,7 +225,7 @@ int __cxa_guard_acquire(guard_type *guard_object) { return result; } -void __cxa_guard_release(guard_type *guard_object) { +_LIBCXXABI_FUNC_VIS void __cxa_guard_release(guard_type *guard_object) { if (pthread_mutex_lock(&guard_mut)) abort_message("__cxa_guard_release failed to acquire mutex"); *guard_object = 0; @@ -234,7 +236,7 @@ void __cxa_guard_release(guard_type *guard_object) { abort_message("__cxa_guard_release failed to broadcast condition variable"); } -void __cxa_guard_abort(guard_type *guard_object) { +_LIBCXXABI_FUNC_VIS void __cxa_guard_abort(guard_type *guard_object) { if (pthread_mutex_lock(&guard_mut)) abort_message("__cxa_guard_abort failed to acquire mutex"); *guard_object = 0; |