Go to the documentation of this file.
27 #ifndef __SYS_Visibility_h__
28 #define __SYS_Visibility_h__
32 #if !defined(MAKING_STATIC)
34 # define SYS_VISIBILITY_EXPORT __declspec(dllexport)
35 # define SYS_VISIBILITY_IMPORT __declspec(dllimport)
36 # define SYS_VISIBILITY_EXPORT_TINST SYS_VISIBILITY_EXPORT
37 # define SYS_VISIBILITY_IMPORT_TINST SYS_VISIBILITY_IMPORT
46 # define SYS_VISIBILITY_EXPORT_EXTERN_TEMPLATE(...) \
48 # define SYS_VISIBILITY_IMPORT_EXTERN_TEMPLATE(...) \
49 extern template class SYS_VISIBILITY_IMPORT __VA_ARGS__
50 # elif (SYS_IS_CLANG_GE(3, 3) || SYS_IS_GCC_GE(4, 7))
54 # define SYS_VISIBILITY_EXPORT __attribute__((visibility("default")))
55 # define SYS_VISIBILITY_IMPORT __attribute__((visibility("default")))
56 # define SYS_VISIBILITY_EXPORT_TMPL SYS_VISIBILITY_EXPORT
57 # define SYS_VISIBILITY_IMPORT_TMPL SYS_VISIBILITY_IMPORT
58 # define SYS_VISIBILITY_EXPORT_TINST SYS_VISIBILITY_EXPORT
59 # define SYS_VISIBILITY_IMPORT_TINST SYS_VISIBILITY_IMPORT
60 # define SYS_VISIBILITY_EXPORT_EXTERN_TEMPLATE(...) \
61 extern template class SYS_VISIBILITY_EXPORT __VA_ARGS__
62 # define SYS_VISIBILITY_IMPORT_EXTERN_TEMPLATE(...) \
63 extern template class SYS_VISIBILITY_IMPORT __VA_ARGS__
64 # elif SYS_IS_GCC_GE(4, 2)
65 # define SYS_VISIBILITY_EXPORT __attribute__((visibility("default")))
66 # define SYS_VISIBILITY_IMPORT __attribute__((visibility("default")))
70 #ifndef SYS_VISIBILITY_EXPORT
71 # define SYS_VISIBILITY_EXPORT
74 #ifndef SYS_VISIBILITY_IMPORT
75 # define SYS_VISIBILITY_IMPORT
78 #ifndef SYS_VISIBILITY_EXPORT_TMPL
79 # define SYS_VISIBILITY_EXPORT_TMPL
82 #ifndef SYS_VISIBILITY_IMPORT_TMPL
83 # define SYS_VISIBILITY_IMPORT_TMPL
86 #ifndef SYS_VISIBILITY_EXPORT_TINST
87 # define SYS_VISIBILITY_EXPORT_TINST
90 #ifndef SYS_VISIBILITY_IMPORT_TINST
91 # define SYS_VISIBILITY_IMPORT_TINST
94 #ifndef SYS_VISIBILITY_EXPORT_EXTERN_TEMPLATE
95 # define SYS_VISIBILITY_EXPORT_EXTERN_TEMPLATE(...)
97 #ifndef SYS_VISIBILITY_IMPORT_EXTERN_TEMPLATE
98 # define SYS_VISIBILITY_IMPORT_EXTERN_TEMPLATE(...)