mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 14:30:06 +00:00
tilepro: fix warnings in sysdeps/tile/tilepro/bits/atomic.h
Using a ({ }) structure avoids the "value computed is not used" that a simple () structure causes.
This commit is contained in:
parent
bbab82c25d
commit
0d261f406d
@ -1,3 +1,9 @@
|
||||
2015-08-04 Chris Metcalf <cmetcalf@ezchip.com>
|
||||
|
||||
* sysdeps/tile/tilepro/bits/atomic.h (__atomic_update):
|
||||
Restructure macro to avoid "value computed is not used" warning.
|
||||
(atomic_compare_and_exchange_val_acq): Likewise.
|
||||
|
||||
2015-08-04 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
[BZ #18635]
|
||||
|
@ -39,10 +39,12 @@ int __atomic_cmpxchg_32 (volatile int *mem, int newval, int oldval)
|
||||
}
|
||||
|
||||
#define atomic_compare_and_exchange_val_acq(mem, n, o) \
|
||||
((__typeof (*(mem))) \
|
||||
((sizeof (*(mem)) == 4) ? \
|
||||
__atomic_cmpxchg_32 ((int *) (mem), (int) (n), (int) (o)) : \
|
||||
__atomic_error_bad_argument_size()))
|
||||
({ \
|
||||
if (sizeof (*(mem)) != 4) \
|
||||
__atomic_error_bad_argument_size (); \
|
||||
(__typeof (*(mem))) \
|
||||
__atomic_cmpxchg_32 ((int *) (mem), (int) (n), (int) (o)); \
|
||||
})
|
||||
|
||||
/* Atomically compute:
|
||||
int old = *ptr;
|
||||
@ -64,10 +66,12 @@ int __atomic_update_32 (volatile int *mem, int mask, int addend)
|
||||
|
||||
/* Size-checked verson of __atomic_update_32. */
|
||||
#define __atomic_update(mem, mask, addend) \
|
||||
((__typeof (*(mem))) \
|
||||
((sizeof (*(mem)) == 4) ? \
|
||||
__atomic_update_32 ((int *) (mem), (int) (mask), (int) (addend)) : \
|
||||
__atomic_error_bad_argument_size ()))
|
||||
({ \
|
||||
if (sizeof (*(mem)) != 4) \
|
||||
__atomic_error_bad_argument_size (); \
|
||||
(__typeof (*(mem))) \
|
||||
__atomic_update_32 ((int *) (mem), (int) (mask), (int) (addend)); \
|
||||
})
|
||||
|
||||
#define atomic_exchange_acq(mem, newvalue) \
|
||||
__atomic_update ((mem), 0, (newvalue))
|
||||
|
Loading…
Reference in New Issue
Block a user