[libcxx-commits] [libcxxabi] 692518d - [libcxxabi] Omit dllimport in public headers in MinGW mode

Martin Storsjö via libcxx-commits libcxx-commits at lists.llvm.org
Wed Apr 19 03:37:01 PDT 2023


Author: Martin Storsjö
Date: 2023-04-19T13:34:54+03:00
New Revision: 692518d04b2d170b1ae10c50843e7c497c4a9922

URL: https://github.com/llvm/llvm-project/commit/692518d04b2d170b1ae10c50843e7c497c4a9922
DIFF: https://github.com/llvm/llvm-project/commit/692518d04b2d170b1ae10c50843e7c497c4a9922.diff

LOG: [libcxxabi] Omit dllimport in public headers in MinGW mode

This matches the corresponding change to libcxx headers in
dfa88927ae1411ccc3b248b7e624f2acf623d947.

This avoids needing to define _LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS
when building libcxxabi tests, for two reasons:
- It defaults to normal linkage (as opposed to dllimport), fixing
  linking of a static library version of libcxx/libcxxabi
- It avoids issues with using dllimport declarations on symbols when
  including cxxabi implementations into the testcase itself

Differential Revision: https://reviews.llvm.org/D148441

Added: 
    

Modified: 
    libcxxabi/include/__cxxabi_config.h

Removed: 
    


################################################################################
diff  --git a/libcxxabi/include/__cxxabi_config.h b/libcxxabi/include/__cxxabi_config.h
index c97dd656e165..e8aa37e6d5ec 100644
--- a/libcxxabi/include/__cxxabi_config.h
+++ b/libcxxabi/include/__cxxabi_config.h
@@ -32,7 +32,7 @@
 #endif
 
 #if defined(_WIN32)
- #if defined(_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS)
+ #if defined(_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS) || (defined(__MINGW32__) && !defined(_LIBCXXABI_BUILDING_LIBRARY))
   #define _LIBCXXABI_HIDDEN
   #define _LIBCXXABI_DATA_VIS
   #define _LIBCXXABI_FUNC_VIS


        


More information about the libcxx-commits mailing list