gcc/libstdc++-v3/include
Andi Kleen d76b6ea417 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  <ak@linux.intel.com>
	    Jonathan Wakely  <jwakely.gcc@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.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r195321
2013-01-20 19:03:22 +00:00
..
backward Update Copyright years for files modified in 2011 and/or 2012. 2013-01-04 13:49:55 +01:00
bits libstdc++: Add mem_order_hle_acquire/release to atomic.h v2 2013-01-20 19:03:22 +00:00
c Update Copyright years for files modified in 2011 and/or 2012. 2013-01-04 13:49:55 +01:00
c_compatibility Update Copyright years for files modified in 2011 and/or 2012. 2013-01-04 13:49:55 +01:00
c_global Update Copyright years for files modified in 2011 and/or 2012. 2013-01-04 13:49:55 +01:00
c_std Update Copyright years for files modified in 2011 and/or 2012. 2013-01-04 13:49:55 +01:00
debug PR libstdc++/55043 (again) 2013-01-16 23:56:00 +00:00
decimal [multiple changes] 2012-08-06 18:06:42 +00:00
ext insert_fn_imps.hpp: Fix typo in copyright years. 2013-01-06 11:53:01 +00:00
parallel Update Copyright years for files modified in 2011 and/or 2012. 2013-01-04 13:49:55 +01:00
precompiled Update Copyright years for files modified in 2011 and/or 2012. 2013-01-04 13:49:55 +01:00
profile PR libstdc++/55043 (again) 2013-01-16 23:56:00 +00:00
std re PR libstdc++/55861 ([C++11] `std::shared_future::get' is not const-qualified) 2013-01-19 23:42:55 +00:00
tr1 Update Copyright years for files modified in 2011 and/or 2012. 2013-01-04 13:49:55 +01:00
tr2 atomic_base.h: Don't include <cstddef>, use nullptr. 2012-11-06 11:03:45 +00:00
Makefile.am Makefile.am (${host_builddir}/c++config.h): Replace [<space><tab>] by [<tab><space>]. 2012-12-04 22:40:24 +00:00
Makefile.in Makefile.am (${host_builddir}/c++config.h): Replace [<space><tab>] by [<tab><space>]. 2012-12-04 22:40:24 +00:00