atomic: fix position of volatile qualifier
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 4 Nov 2014 13:35:28 +0000 (14:35 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 23 Dec 2014 09:14:46 +0000 (10:14 +0100)
What needs to be volatile is not the pointer, but the pointed-to
value!

Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
include/qemu/atomic.h

index 492bce1c1b6886b558bf54e2450f5e44ffc44eb3..93c2ae2f37748cd572d4e24c501fc0aa0a2faf4b 100644 (file)
 #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.