Add generalized atomic and/or/xor operations for char/short/int types
authorIvan Maidanski <ivmai@mail.ru>
Wed, 2 Jan 2013 18:22:17 +0000 (22:22 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 2 Jan 2013 18:22:17 +0000 (22:22 +0400)
commitfa0473729bab33329dbc50ac8f2b26f77030829a
tree3058e63aa1c55a6f513b2bdd857a379b4a8fbc14
parent97633aba984fc7e2927d0a5eaf05c43747120fa4
Add generalized atomic and/or/xor operations for char/short/int types

* src/atomic_ops/generalize-small.template (AO_XSIZE_and_full,
AO_XSIZE_and_release, AO_XSIZE_and_acquire, AO_XSIZE_and_write,
AO_XSIZE_and_read, AO_XSIZE_and, AO_XSIZE_and_release_write,
AO_XSIZE_and_acquire_read, AO_XSIZE_or_full, AO_XSIZE_or_release,
AO_XSIZE_or_acquire, AO_XSIZE_or_write, AO_XSIZE_or_read,
AO_XSIZE_or, AO_XSIZE_or_release_write, AO_XSIZE_or_acquire_read,
AO_XSIZE_xor_full, AO_XSIZE_xor_release, AO_XSIZE_xor_acquire,
AO_XSIZE_xor_write, AO_XSIZE_xor_read, AO_XSIZE_xor,
AO_XSIZE_xor_release_write, AO_XSIZE_xor_acquire_read): New template
primitive (code copied from generalize.h for AO_t); define the
corresponding AO_HAVE_x.
* src/atomic_ops/generalize-small.h: Regenerate.
* src/atomic_ops/generalize.h (AO_and_full, AO_and_release,
AO_and_acquire, AO_and_write, AO_and_read, AO_and,
AO_and_release_write, AO_and_acquire_read, AO_or_full,
AO_or_release, AO_or_acquire, AO_or_write, AO_or_read, AO_xor,
AO_or_release_write, AO_or_acquire_read, AO_xor_full, AO_xor_release,
AO_xor_acquire, AO_xor_write, AO_xor_read, AO_xor,
AO_xor_release_write, AO_xor_acquire_read): Remove (since present in
the autogenerated generalize-small.h) together with the corresponding
AO_HAVE_x.
* src/atomic_ops/sysdeps/generic_pthread.h (AO_char_and_full,
AO_char_or_full, AO_char_xor_full, AO_short_and_full,
AO_short_or_full, AO_short_xor_full, AO_int_and_full, AO_int_or_full,
AO_int_xor_full): Implement primitive (and define the corresponding
AO_HAVE_x).
src/atomic_ops/generalize-small.h
src/atomic_ops/generalize-small.template
src/atomic_ops/generalize.h
src/atomic_ops/sysdeps/generic_pthread.h