atomic: fix qb_atomic_pointer macros

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
This commit is contained in:
Angus Salkeld 2011-08-19 10:00:46 +10:00
parent ea8dfea7a0
commit e3b167819c

View File

@ -164,7 +164,7 @@ void qb_atomic_pointer_set(volatile void* QB_GNUC_MAY_ALIAS * atomic,
#define qb_atomic_int_get(atomic) ((int32_t)*(atomic))
#define qb_atomic_int_set(atomic, newval) ((void) (*(atomic) = (newval)))
#define qb_atomic_pointer_get(atomic) ((void*)*(atomic))
#define qb_atomic_pointer_set(atomic, newval) ((void) (*(atomic) = (newval)))
#define qb_atomic_pointer_set(atomic, newval) ((void*) (*(atomic) = (newval)))
#else
#define qb_atomic_int_get(atomic) \
((void) sizeof (char* [sizeof (*(atomic)) == sizeof (int32_t) ? 1 : -1]), \
@ -174,10 +174,10 @@ void qb_atomic_pointer_set(volatile void* QB_GNUC_MAY_ALIAS * atomic,
(qb_atomic_int_set) ((volatile int32_t QB_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (newval)))
#define qb_atomic_pointer_get(atomic) \
((void) sizeof (char* [sizeof (*(atomic)) == sizeof (void*) ? 1 : -1]), \
(qb_atomic_pointer_get) ((volatile void QB_GNUC_MAY_ALIAS *) (volatile void *) (atomic)))
(qb_atomic_pointer_get) ((volatile void* QB_GNUC_MAY_ALIAS *) (volatile void *) (atomic)))
#define qb_atomic_pointer_set(atomic, newval) \
((void) sizeof (char* [sizeof (*(atomic)) == sizeof (void*) ? 1 : -1]), \
(qb_atomic_pointer_set) ((volatile void QB_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (newval)))
(qb_atomic_pointer_set) ((volatile void* QB_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (newval)))
#endif /* QB_ATOMIC_OP_MEMORY_BARRIER_NEEDED */
/**