Rev 1891 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1891 | Rev 3931 | ||
---|---|---|---|
Line 16... | Line 16... | ||
16 | # define FUNC ((const char*) (__func__)) |
16 | # define FUNC ((const char*) (__func__)) |
17 | #else |
17 | #else |
18 | # define FUNC ((const char*) ("???")) |
18 | # define FUNC ((const char*) ("???")) |
19 | #endif |
19 | #endif |
Line -... | Line 20... | ||
- | 20 | ||
- | 21 | #if defined (__GNUC__) |
|
- | 22 | # define unlikely(expr) __builtin_expect ((expr), 0) |
|
- | 23 | #else |
|
- | 24 | # define unlikely(expr) (expr) |
|
- | 25 | #endif |
|
- | 26 | ||
- | 27 | #if defined (__GNUC__) |
|
- | 28 | # define MAYBE_UNUSED __attribute__((unused)) |
|
- | 29 | #else |
|
- | 30 | # define MAYBE_UNUSED |
|
- | 31 | #endif |
|
20 | 32 | ||
21 | #ifndef INT16_MIN |
33 | #ifndef INT16_MIN |
22 | # define INT16_MIN (-32767-1) |
34 | # define INT16_MIN (-32767-1) |
Line 23... | Line 35... | ||
23 | #endif |
35 | #endif |
Line 40... | Line 52... | ||
40 | 52 | ||
41 | #ifndef UINT32_MAX |
53 | #ifndef UINT32_MAX |
42 | # define UINT32_MAX (4294967295U) |
54 | # define UINT32_MAX (4294967295U) |
Line -... | Line 55... | ||
- | 55 | #endif |
|
- | 56 | ||
- | 57 | #ifndef INT64_MIN |
|
- | 58 | # define INT64_MIN (-9223372036854775807-1) |
|
- | 59 | #endif |
|
- | 60 | ||
- | 61 | #ifndef INT64_MAX |
|
- | 62 | # define INT64_MAX (9223372036854775807) |
|
- | 63 | #endif |
|
- | 64 | ||
- | 65 | #ifndef SIZE_MAX |
|
- | 66 | # define SIZE_MAX ((size_t)-1) |
|
- | 67 | #endif |
|
43 | #endif |
68 | |
44 | 69 | ||
45 | #ifndef M_PI |
70 | #ifndef M_PI |
Line 46... | Line 71... | ||
46 | # define M_PI 3.14159265358979323846 |
71 | # define M_PI 3.14159265358979323846 |
Line 72... | Line 97... | ||
72 | # define PIXMAN_EXPORT __global |
97 | # define PIXMAN_EXPORT __global |
73 | #else |
98 | #else |
74 | # define PIXMAN_EXPORT |
99 | # define PIXMAN_EXPORT |
75 | #endif |
100 | #endif |
Line -... | Line 101... | ||
- | 101 | ||
- | 102 | /* member offsets */ |
|
- | 103 | #define CONTAINER_OF(type, member, data) \ |
|
- | 104 | ((type *)(((uint8_t *)data) - offsetof (type, member))) |
|
76 | 105 | ||
77 | /* TLS */ |
106 | /* TLS */ |
Line 78... | Line 107... | ||
78 | #if defined(PIXMAN_NO_TLS) |
107 | #if defined(PIXMAN_NO_TLS) |
79 | 108 | ||
80 | # define PIXMAN_DEFINE_THREAD_LOCAL(type, name) \ |
109 | # define PIXMAN_DEFINE_THREAD_LOCAL(type, name) \ |
81 | static type name |
110 | static type name |
Line 82... | Line 111... | ||
82 | # define PIXMAN_GET_THREAD_LOCAL(name) \ |
111 | # define PIXMAN_GET_THREAD_LOCAL(name) \ |
Line 83... | Line 112... | ||
83 | (&name) |
112 | (&name) |
84 | 113 | ||
85 | #elif defined(TOOLCHAIN_SUPPORTS__THREAD) |
114 | #elif defined(TLS) |
86 | 115 | ||
Line 87... | Line 116... | ||
87 | # define PIXMAN_DEFINE_THREAD_LOCAL(type, name) \ |
116 | # define PIXMAN_DEFINE_THREAD_LOCAL(type, name) \ |
Line 189... | Line 218... | ||
189 | value = pthread_getspecific (tls_ ## name ## _key); \ |
218 | value = pthread_getspecific (tls_ ## name ## _key); \ |
190 | if (!value) \ |
219 | if (!value) \ |
191 | value = tls_ ## name ## _alloc (); \ |
220 | value = tls_ ## name ## _alloc (); \ |
192 | } \ |
221 | } \ |
193 | return value; \ |
222 | return value; \ |
194 | } \ |
223 | } |
195 | extern int no_such_variable |
- | |
Line 196... | Line 224... | ||
196 | 224 | ||
197 | # define PIXMAN_GET_THREAD_LOCAL(name) \ |
225 | # define PIXMAN_GET_THREAD_LOCAL(name) \ |
Line 198... | Line 226... | ||
198 | tls_ ## name ## _get () |
226 | tls_ ## name ## _get () |