Support: Give ManagedStatic's helper object library visibility

It doesn't make much sense to export these symbols.

llvm-svn: 261931
This commit is contained in:
Justin Bogner 2016-02-25 22:05:19 +00:00
parent 860fbf094e
commit 78cd1ddfbb
1 changed files with 6 additions and 5 deletions

View File

@ -22,17 +22,18 @@ namespace llvm {
/// object_creator - Helper method for ManagedStatic.
template<class C>
void* object_creator() {
LLVM_LIBRARY_VISIBILITY void* object_creator() {
return new C();
}
/// object_deleter - Helper method for ManagedStatic.
///
template<typename T> struct object_deleter {
static void call(void * Ptr) { delete (T*)Ptr; }
template <typename T> struct LLVM_LIBRARY_VISIBILITY object_deleter {
static void call(void *Ptr) { delete (T *)Ptr; }
};
template<typename T, size_t N> struct object_deleter<T[N]> {
static void call(void * Ptr) { delete[] (T*)Ptr; }
template <typename T, size_t N>
struct LLVM_LIBRARY_VISIBILITY object_deleter<T[N]> {
static void call(void *Ptr) { delete[](T *)Ptr; }
};
/// ManagedStaticBase - Common base class for ManagedStatic instances.