From: Brian Aker Date: Fri, 11 Feb 2011 19:15:00 +0000 (-0800) Subject: Add warning for OpenBSD builds. X-Git-Tag: 0.51~44^2~2 X-Git-Url: https://git.m6w6.name/?a=commitdiff_plain;h=ed7cd45bc966041e6771f612d1bc9979f86502fd;p=m6w6%2Flibmemcached Add warning for OpenBSD builds. --- diff --git a/clients/ms_atomic.h b/clients/ms_atomic.h index 18606636..0b05bcec 100644 --- a/clients/ms_atomic.h +++ b/clients/ms_atomic.h @@ -27,7 +27,7 @@ # define atomic_dec_size_nv(X, Y) atomic_add_32((X), (Y)) # endif # undef _KERNEL -#else +#elif HAVE_GCC_ATOMIC_BUILTINS # define atomic_add_8(X, Y) __sync_fetch_and_add((X), (Y)) # define atomic_add_16(X, Y) __sync_fetch_and_add((X), (Y)) # define atomic_add_32(X, Y) __sync_fetch_and_add((X), (Y)) @@ -45,6 +45,25 @@ # define atomic_dec_16_nv(X) __sync_fetch_and_sub((X), 1) # define atomic_dec_32_nv(X) __sync_fetch_and_sub((X), 1) # define atomic_dec_size_nv(X) __sync_fetch_and_sub((X), 1) +#else +#warning "Atomic operators not found so memslap will not work correctly" +# define atomic_add_8(X, Y) +# define atomic_add_16(X, Y) +# define atomic_add_32(X, Y) +# define atomic_add_size(X, Y) +# define atomic_dec_8(X) +# define atomic_dec_16(X) +# define atomic_dec_32(X) +# define atomic_dec_size(X) +/* The same as above, but these return the new value instead of void */ +# define atomic_add_8_nv(X, Y) +# define atomic_add_16_nv(X, Y) +# define atomic_add_32_nv(X, Y) +# define atomic_add_size_nv(X, Y) +# define atomic_dec_8_nv(X) +# define atomic_dec_16_nv(X) +# define atomic_dec_32_nv(X) +# define atomic_dec_size_nv(X) #endif /* defined(__SUNPRO_C) */ #endif /* CLIENTS_MS_ATOMIC_H */