110a111,137 > #if HAVE_WIN32_ATOMIC_OPS > > #define HAS_ATOMIC_OPS 1 > > typedef int cairo_atomic_int_t; > > # define _cairo_atomic_int_get(x) (*x) > # define _cairo_atomic_int_set(x, value) ((*x) = value) > > # define _cairo_atomic_int_inc(x) ((void) InterlockedIncrement(x)) > # define _cairo_atomic_int_dec_and_test(x) (InterlockedDecrement(x) == 0) > # define _cairo_atomic_int_cmpxchg(x, oldv, newv) InterlockedCompareExchange(x, newv, oldv) > > #if SIZEOF_VOID_P==SIZEOF_INT > typedef int cairo_atomic_intptr_t; > #elif SIZEOF_VOID_P==SIZEOF_LONG > typedef long cairo_atomic_intptr_t; > #elif SIZEOF_VOID_P==SIZEOF_LONG_LONG > typedef long long cairo_atomic_intptr_t; > #else > #error No matching integer pointer type > #endif > > # define _cairo_atomic_ptr_cmpxchg(x, oldv, newv) InterlockedCompareExchangePointer(x, newv, oldv) > > #endif >