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

Reply via email to