]> granicus.if.org Git - libatomic_ops/commit
Cast away volatile on dereference in CAS-based generalization primitives
authorIvan Maidanski <ivmai@mail.ru>
Sat, 12 Jan 2013 16:36:34 +0000 (20:36 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Sat, 12 Jan 2013 16:36:34 +0000 (20:36 +0400)
commit7c4d646f5cdf9cb51e1d5c587a33a5b3f517552f
treecca4ad3137886362d2c4214773652803d426c22c
parent0ee7f1e5f9ad22b1b4406d53ccd740721afd67ba
Cast away volatile on dereference in CAS-based generalization primitives

* src/atomic_ops/generalize-arithm.template
(AO_XSIZE_fetch_and_add_full, AO_XSIZE_fetch_and_add_acquire,
AO_XSIZE_fetch_and_add_release, AO_XSIZE_fetch_and_add,
AO_XSIZE_and_full, AO_XSIZE_or_full, AO_XSIZE_xor_full): Cast away the
volatile (when reading old value before CAS) for architectures like
IA64 (where volatile adds barrier semantics).
* src/atomic_ops/generalize-small.template (AO_XSIZE_load_read,
AO_XSIZE_load_full, AO_XSIZE_load_acquire, AO_XSIZE_load): Likewise.
* src/atomic_ops/generalize-arithm.h: Regenerate.
* src/atomic_ops/generalize-small.h: Likewise.
src/atomic_ops/generalize-arithm.h
src/atomic_ops/generalize-arithm.template
src/atomic_ops/generalize-small.h
src/atomic_ops/generalize-small.template