| 31 |
31 |
| 32 #ifdef __cplusplus |
32 #ifdef __cplusplus |
| 33 extern "C" { |
33 extern "C" { |
| 34 #endif |
34 #endif |
| 35 |
35 |
| 36 #if defined(__gnu_linux__) || defined(OSX) || defined(BSD) |
36 #if defined(__gnu_linux__) || defined(__APPLE__) || defined(__GNUC__) || defined(__clang__) |
| 37 |
37 |
| 38 #define dav_atomic_inc32(intptr) __sync_fetch_and_add(intptr, 1) |
38 #define dav_atomic_inc32(intptr) __sync_fetch_and_add(intptr, 1) |
| 39 #define dav_atomic_dec32(intptr) (__sync_fetch_and_sub(intptr, 1) - 1) |
39 #define dav_atomic_dec32(intptr) (__sync_fetch_and_sub(intptr, 1) - 1) |
| 40 |
40 |
| 41 #else |
41 #else |