X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu%2Fuatomic%2Fsparc64.h;fp=urcu%2Fuatomic%2Fsparc64.h;h=62945668fa6612734ca26bbffb965951bda394c4;hp=d9ecada5aa56c3891c2f34624a60247f02c5168e;hb=e56d99bf2046a163875df80bab5195f38606dfde;hpb=7d5dc80de0522da1b8bc3656646ea39c15481594 diff --git a/urcu/uatomic/sparc64.h b/urcu/uatomic/sparc64.h index d9ecada..6294566 100644 --- a/urcu/uatomic/sparc64.h +++ b/urcu/uatomic/sparc64.h @@ -66,9 +66,10 @@ unsigned long _uatomic_cmpxchg(void *addr, unsigned long old, } -#define uatomic_cmpxchg(addr, old, _new) \ - ((__typeof__(*(addr))) _uatomic_cmpxchg((addr), (unsigned long)(old),\ - (unsigned long)(_new), \ +#define uatomic_cmpxchg(addr, old, _new) \ + ((__typeof__(*(addr))) _uatomic_cmpxchg((addr), \ + caa_cast_long_keep_sign(old), \ + caa_cast_long_keep_sign(_new), \ sizeof(*(addr)))) #ifdef __cplusplus