Unified · Split
| @@ -42,7 +42,8 @@ · 41 unmodified lines | |||
| 42 | *(volatile TYPE *)atom = value; \ | 42 | *(volatile TYPE *)atom = value; \ |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | #if defined(__GNUC__) | 45 | /* Some tcc targets set __GNUC__ */ |
| 46 | #if defined(__GNUC__) && !defined(__TINYC__) | ||
| 46 | #define ATOMIC_LOAD(t,a,b,c) t b; __atomic_load((t *)a, (t *)&b, c) | 47 | #define ATOMIC_LOAD(t,a,b,c) t b; __atomic_load((t *)a, (t *)&b, c) |
| 47 | #define COMPARE_EXCHANGE(t,a,b,c,d,e,f) __atomic_compare_exchange((t *)a,b,&c,d,e,f) | 48 | #define COMPARE_EXCHANGE(t,a,b,c,d,e,f) __atomic_compare_exchange((t *)a,b,&c,d,e,f) |
| 48 | #else | 49 | #else |