From: Paolo Bonzini Date: Tue, 4 Nov 2014 13:35:28 +0000 (+0100) Subject: atomic: fix position of volatile qualifier X-Git-Tag: qemu-xen-4.6.0-rc1~34^2~32 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=f738adeb5edef023fde0c47c3dce47987d7f6982;p=qemu-upstream-4.6-testing.git atomic: fix position of volatile qualifier What needs to be volatile is not the pointer, but the pointed-to value! Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini (cherry picked from commit 2cbcfb281afa041a41f6e4c4da0f5c9314084604) Signed-off-by: Michael Roth --- diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h index 492bce1c1..93c2ae2f3 100644 --- a/include/qemu/atomic.h +++ b/include/qemu/atomic.h @@ -122,11 +122,11 @@ #endif #ifndef atomic_read -#define atomic_read(ptr) (*(__typeof__(*ptr) *volatile) (ptr)) +#define atomic_read(ptr) (*(__typeof__(*ptr) volatile*) (ptr)) #endif #ifndef atomic_set -#define atomic_set(ptr, i) ((*(__typeof__(*ptr) *volatile) (ptr)) = (i)) +#define atomic_set(ptr, i) ((*(__typeof__(*ptr) volatile*) (ptr)) = (i)) #endif /* These have the same semantics as Java volatile variables.