http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55223
--- Comment #2 from ak at gcc dot gnu.org 2013-01-20 19:03:29 UTC --- Author: ak Date: Sun Jan 20 19:03:22 2013 New Revision: 195321 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195321 Log: libstdc++: Add mem_order_hle_acquire/release to atomic.h v2 The underlying compiler supports additional __ATOMIC_HLE_ACQUIRE/RELEASE memmodel flags for TSX, but this was not exposed to the C++ wrapper. Handle it there. These are additional flags, so some of assert checks need to mask off the flags before checking the memory model type. libstdc++-v3/: 2013-01-12 Andi Kleen <a...@linux.intel.com> Jonathan Wakely <jwakely....@gmail.com> PR libstdc++/55223 * include/bits/atomic_base.h (__memory_order_modifier): Add __memory_order_mask, __memory_order_modifier_mask, __memory_order_hle_acquire, __memory_order_hle_release. (operator|,operator&): Add. (__cmpexch_failure_order): Rename to __cmpexch_failure_order2. (__cmpexch_failure_order): Add. (clear, store, load, compare_exchange_weak, compare_exchange_strong): Handle flags. * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Add. Added: trunk/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/bits/atomic_base.h