@@ -27,21 +27,22 @@ terms of the MIT license. A copy of the license can be found in the file
27
27
#define mi_trace_message (...)
28
28
#endif
29
29
30
- #define MI_CACHE_LINE 64
30
+ #define mi_decl_cache_align mi_decl_align (64 )
31
+
31
32
#if defined(_MSC_VER)
32
33
#pragma warning(disable:4127) // suppress constant conditional warning (due to MI_SECURE paths)
33
34
#pragma warning(disable:26812) // unscoped enum warning
34
35
#define mi_decl_noinline __declspec (noinline)
35
36
#define mi_decl_thread __declspec (thread)
36
- #define mi_decl_cache_align __declspec (align(MI_CACHE_LINE ))
37
+ #define mi_decl_align ( a ) __declspec(align(a ))
37
38
#define mi_decl_noreturn __declspec(noreturn)
38
39
#define mi_decl_weak
39
40
#define mi_decl_hidden
40
41
#define mi_decl_cold
41
42
#elif (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__clang__) // includes clang and icc
42
43
#define mi_decl_noinline __attribute__ ((noinline))
43
44
#define mi_decl_thread __thread
44
- #define mi_decl_cache_align __attribute__ ((aligned(MI_CACHE_LINE )))
45
+ #define mi_decl_align ( a ) __attribute__((aligned(a )))
45
46
#define mi_decl_noreturn __attribute__((noreturn))
46
47
#define mi_decl_weak __attribute__ ((weak))
47
48
#define mi_decl_hidden __attribute__ ((visibility(" hidden" )))
@@ -53,15 +54,15 @@ terms of the MIT license. A copy of the license can be found in the file
53
54
#elif __cplusplus >= 201103L // c++11
54
55
#define mi_decl_noinline
55
56
#define mi_decl_thread thread_local
56
- #define mi_decl_cache_align alignas (MI_CACHE_LINE )
57
+ #define mi_decl_align ( a ) alignas (a )
57
58
#define mi_decl_noreturn [[noreturn]]
58
59
#define mi_decl_weak
59
60
#define mi_decl_hidden
60
61
#define mi_decl_cold
61
62
#else
62
63
#define mi_decl_noinline
63
64
#define mi_decl_thread __thread // hope for the best :-)
64
- #define mi_decl_cache_align
65
+ #define mi_decl_align ( a )
65
66
#define mi_decl_noreturn
66
67
#define mi_decl_weak
67
68
#define mi_decl_hidden
0 commit comments