summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/std/atomic
diff options
context:
space:
mode:
authorfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>2013-07-29 17:13:05 +0000
committerfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>2013-07-29 17:13:05 +0000
commitb7dd4edb27a49c3c3cb514fed778e85b191c5468 (patch)
treeec2d8580f766dcd9a89ba7ed63534b6587a17b3f /libstdc++-v3/include/std/atomic
parent0bd32132d471995f3e333138363d1d928a9dde60 (diff)
downloadppe42-gcc-b7dd4edb27a49c3c3cb514fed778e85b191c5468.tar.gz
ppe42-gcc-b7dd4edb27a49c3c3cb514fed778e85b191c5468.zip
libstdc++-v3/
* include/std/atomic (compare_exchange_weak, compare_exchange_strong): Add call to __cmpexch_failure_order. * testsuite/util/testsuite_common_types.h (compare_exchange_order_lowering): New generator. * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201315 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/std/atomic')
-rw-r--r--libstdc++-v3/include/std/atomic12
1 files changed, 8 insertions, 4 deletions
diff --git a/libstdc++-v3/include/std/atomic b/libstdc++-v3/include/std/atomic
index 813f5741a10..2d66729629e 100644
--- a/libstdc++-v3/include/std/atomic
+++ b/libstdc++-v3/include/std/atomic
@@ -252,12 +252,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
compare_exchange_weak(_Tp& __e, _Tp __i,
memory_order __m = memory_order_seq_cst) noexcept
- { return compare_exchange_weak(__e, __i, __m, __m); }
+ { return compare_exchange_weak(__e, __i, __m,
+ __cmpexch_failure_order(__m)); }
bool
compare_exchange_weak(_Tp& __e, _Tp __i,
memory_order __m = memory_order_seq_cst) volatile noexcept
- { return compare_exchange_weak(__e, __i, __m, __m); }
+ { return compare_exchange_weak(__e, __i, __m,
+ __cmpexch_failure_order(__m)); }
bool
compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s,
@@ -276,12 +278,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
compare_exchange_strong(_Tp& __e, _Tp __i,
memory_order __m = memory_order_seq_cst) noexcept
- { return compare_exchange_strong(__e, __i, __m, __m); }
+ { return compare_exchange_strong(__e, __i, __m,
+ __cmpexch_failure_order(__m)); }
bool
compare_exchange_strong(_Tp& __e, _Tp __i,
memory_order __m = memory_order_seq_cst) volatile noexcept
- { return compare_exchange_strong(__e, __i, __m, __m); }
+ { return compare_exchange_strong(__e, __i, __m,
+ __cmpexch_failure_order(__m)); }
};
OpenPOWER on IntegriCloud