X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu%2Fuatomic_arch_sparc64.h;fp=urcu%2Fuatomic_arch_sparc64.h;h=35b9ac269c11197b52eac7d55546a7d3479586ed;hp=87deacd1a064366bceb799cf8620485c06ba6206;hb=c0a68bfa57908ee51e391f1a5676915b503bfb07;hpb=58de5a4bc81e0b64f4fbd46973b5c8b0cd06cda6 diff --git a/urcu/uatomic_arch_sparc64.h b/urcu/uatomic_arch_sparc64.h index 87deacd..35b9ac2 100644 --- a/urcu/uatomic_arch_sparc64.h +++ b/urcu/uatomic_arch_sparc64.h @@ -90,9 +90,9 @@ unsigned long _uatomic_exchange(void *addr, unsigned long val, int len) switch (len) { case 4: { - unsigned int old; + unsigned int old, oldt; - oldt = uatomic_read(addr); + oldt = uatomic_read((unsigned int *)addr); do { old = oldt; oldt = _uatomic_cmpxchg(addr, old, val, 4); @@ -103,9 +103,9 @@ unsigned long _uatomic_exchange(void *addr, unsigned long val, int len) #if (BITS_PER_LONG == 64) case 8: { - unsigned long old; + unsigned long old, oldt; - oldt = uatomic_read(addr); + oldt = uatomic_read((unsigned long *)addr); do { old = oldt; oldt = _uatomic_cmpxchg(addr, old, val, 8); @@ -132,9 +132,9 @@ unsigned long _uatomic_add_return(void *addr, unsigned long val, switch (len) { case 4: { - unsigned int old; + unsigned int old, oldt; - oldt = uatomic_read(addr); + oldt = uatomic_read((unsigned int *)addr); do { old = oldt; oldt = _uatomic_cmpxchg(addr, old, old + val, 4); @@ -145,9 +145,9 @@ unsigned long _uatomic_add_return(void *addr, unsigned long val, #if (BITS_PER_LONG == 64) case 8: { - unsigned long old; + unsigned long old, oldt; - oldt = uatomic_read(addr); + oldt = uatomic_read((unsigned long *)addr); do { old = oldt; oldt = _uatomic_cmpxchg(addr, old, old + val, 8);