X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=urcu%2Fuatomic%2Fgeneric.h;h=82b7c8c5eb38055e5cdf845be429647dfd63fa27;hb=c5f52d0c6b1890f0c66f172665ae6793634f5287;hp=337fe4098bf8337649f9a6bb52af4f9359453091;hpb=a2e7bf9ce5de5113c7f59c380b0087e291cd603d;p=urcu.git diff --git a/urcu/uatomic/generic.h b/urcu/uatomic/generic.h index 337fe40..82b7c8c 100644 --- a/urcu/uatomic/generic.h +++ b/urcu/uatomic/generic.h @@ -269,6 +269,8 @@ void _uatomic_and(void *addr, unsigned long val, int len) old = oldt; oldt = _uatomic_cmpxchg(addr, old, old & val, 1); } while (oldt != old); + + return; } #endif #ifdef UATOMIC_HAS_ATOMIC_SHORT @@ -292,6 +294,8 @@ void _uatomic_and(void *addr, unsigned long val, int len) old = oldt; oldt = _uatomic_cmpxchg(addr, old, old & val, 4); } while (oldt != old); + + return; } #if (CAA_BITS_PER_LONG == 64) case 8: @@ -303,15 +307,16 @@ void _uatomic_and(void *addr, unsigned long val, int len) old = oldt; oldt = _uatomic_cmpxchg(addr, old, old & val, 8); } while (oldt != old); + + return; } #endif } _uatomic_link_error(); - return 0; } #define uatomic_and(addr, v) \ - (uatomic_and((addr), \ + (_uatomic_and((addr), \ (unsigned long)(v), \ sizeof(*(addr)))) #endif /* #ifndef uatomic_and */ @@ -333,6 +338,8 @@ void _uatomic_or(void *addr, unsigned long val, int len) old = oldt; oldt = _uatomic_cmpxchg(addr, old, old | val, 1); } while (oldt != old); + + return; } #endif #ifdef UATOMIC_HAS_ATOMIC_SHORT @@ -345,6 +352,8 @@ void _uatomic_or(void *addr, unsigned long val, int len) old = oldt; oldt = _uatomic_cmpxchg(addr, old, old | val, 2); } while (oldt != old); + + return; } #endif case 4: @@ -356,6 +365,8 @@ void _uatomic_or(void *addr, unsigned long val, int len) old = oldt; oldt = _uatomic_cmpxchg(addr, old, old | val, 4); } while (oldt != old); + + return; } #if (CAA_BITS_PER_LONG == 64) case 8: @@ -367,17 +378,18 @@ void _uatomic_or(void *addr, unsigned long val, int len) old = oldt; oldt = _uatomic_cmpxchg(addr, old, old | val, 8); } while (oldt != old); + + return; } #endif } _uatomic_link_error(); - return 0; } #define uatomic_or(addr, v) \ - (uatomic_or((addr), \ - (unsigned long)(v), \ - sizeof(*(addr)))) + (_uatomic_or((addr), \ + (unsigned long)(v),\ + sizeof(*(addr)))) #endif /* #ifndef uatomic_or */ #ifndef uatomic_add_return