From fdcdc4cf2aadefce1f7e768cc933508ac88420c4 Mon Sep 17 00:00:00 2001 From: Daan Date: Wed, 27 Oct 2021 17:01:12 -0700 Subject: [PATCH] only set visibility attribute when compiling for a shared library (issue #475) --- include/mimalloc.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/mimalloc.h b/include/mimalloc.h index 7ebf3e60..fe0fd746 100644 --- a/include/mimalloc.h +++ b/include/mimalloc.h @@ -58,8 +58,12 @@ terms of the MIT license. A copy of the license can be found in the file #define mi_attr_alloc_size2(s1,s2) #define mi_attr_alloc_align(p) #elif defined(__GNUC__) // includes clang and icc + #if defined(MI_SHARED_LIB) && defined(MI_SHARED_LIB_EXPORT) + #define mi_decl_export __attribute__((visibility("default"))) + #else + #define mi_decl_export + #endif #define mi_cdecl // leads to warnings... __attribute__((cdecl)) - #define mi_decl_export __attribute__((visibility("default"))) #define mi_decl_restrict #define mi_attr_malloc __attribute__((malloc)) #if (defined(__clang_major__) && (__clang_major__ < 4)) || (__GNUC__ < 5)