|
46 | 46 | #define MGIS_VISIBILITY_EXPORT __declspec(dllexport) |
47 | 47 | #define MGIS_VISIBILITY_LOCAL |
48 | 48 | #else /* defined _WIN32 || defined __CYGWIN__ */ |
49 | | -#if (defined __GNUC__) && (!defined __INTEL_COMPILER) |
| 49 | +#if (defined __GNUC__) && (!defined __INTEL_COMPILER) && \ |
| 50 | + (!defined __NVCOMPILER) && (!defined __clang__) |
50 | 51 | #if __GNUC__ >= 4 |
51 | | -#define MGIS_VISIBILITY_IMPORT __attribute__((visibility("default"))) |
52 | | -#define MGIS_VISIBILITY_EXPORT __attribute__((visibility("default"))) |
53 | | -#define MGIS_VISIBILITY_LOCAL __attribute__((visibility("hidden"))) |
54 | | -#else /* __GNUC__ >= 4 */ |
| 52 | +#define MGIS_VISIBILITY_IMPORT [[gnu::visibility("default")]] |
| 53 | +#define MGIS_VISIBILITY_EXPORT [[gnu::visibility("default")]] |
| 54 | +#define MGIS_VISIBILITY_LOCAL [[gnu::visibility("hidden")]] |
| 55 | +#else /*__GNUC__ >= 4 */ |
55 | 56 | #define MGIS_VISIBILITY_IMPORT |
56 | 57 | #define MGIS_VISIBILITY_EXPORT |
57 | 58 | #define MGIS_VISIBILITY_LOCAL |
58 | | -#endif /* __GNUC__ >= 4 */ |
| 59 | +#endif /* LIB_MGIS_CONFIG_HXX */ |
59 | 60 | #elif defined __INTEL_COMPILER |
| 61 | +#define MGIS_VISIBILITY_IMPORT [[gnu::visibility("default")]] |
| 62 | +#define MGIS_VISIBILITY_EXPORT [[gnu::visibility("default")]] |
| 63 | +#define MGIS_VISIBILITY_LOCAL [[gnu::visibility("hidden")]] |
| 64 | +#elif (defined __NVCOMPILER) |
60 | 65 | #define MGIS_VISIBILITY_IMPORT __attribute__((visibility("default"))) |
61 | 66 | #define MGIS_VISIBILITY_EXPORT __attribute__((visibility("default"))) |
62 | 67 | #define MGIS_VISIBILITY_LOCAL __attribute__((visibility("hidden"))) |
63 | | -#else /* defined __INTEL_COMPILER */ |
| 68 | +#elif defined __clang__ |
| 69 | +#if __clang_major__ >= 18 |
| 70 | +#define MGIS_VISIBILITY_IMPORT [[gnu::visibility("default")]] |
| 71 | +#define MGIS_VISIBILITY_EXPORT [[gnu::visibility("default")]] |
| 72 | +#define MGIS_VISIBILITY_LOCAL [[gnu::visibility("hidden")]] |
| 73 | +#else /* __clang_major__ >= 18 */ |
| 74 | +#define MGIS_VISIBILITY_IMPORT __attribute__((visibility("default"))) |
| 75 | +#define MGIS_VISIBILITY_EXPORT __attribute__((visibility("default"))) |
| 76 | +#define MGIS_VISIBILITY_LOCAL __attribute__((visibility("hidden"))) |
| 77 | +#endif /* __clang_major__ >= 18 */ |
| 78 | +#else |
64 | 79 | #define MGIS_VISIBILITY_IMPORT |
65 | 80 | #define MGIS_VISIBILITY_EXPORT |
66 | 81 | #define MGIS_VISIBILITY_LOCAL |
67 | | -#endif /* defined __INTEL_COMPILER */ |
68 | | -#endif /* defined _WIN32 || defined _WIN64 ||defined __CYGWIN__ */ |
| 82 | +#endif /* LIB_MGIS_CONFIG_HXX */ |
| 83 | +#endif /* LIB_MGIS_CONFIG_HXX */ |
69 | 84 |
|
70 | 85 | #ifdef MGIS_REAL_TYPE |
71 | 86 | /*! \brief alias to the numeric type used in the library */ |
|
0 commit comments