#include #ifdef cl_khr_int64_base_atomics #define IMPL(AS, TYPE) \ _CLC_OVERLOAD _CLC_DEF TYPE atom_dec(volatile AS TYPE *p) { \ return atom_sub(p, (TYPE)1); \ } IMPL(global, long) IMPL(global, unsigned long) IMPL(local, long) IMPL(local, unsigned long) #undef IMPL #endif