From cf17b2b404eed4778664b69d20e1943b619bfd38 Mon Sep 17 00:00:00 2001 From: redi Date: Wed, 4 Jan 2017 10:54:59 +0000 Subject: [PATCH 1/1] Support exception propagation without lock-free atomic int 2017-01-04 Pauli Nieminen Jonathan Wakely PR libstdc++/64735 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define. * config.h.in: Regenerate. * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make exports for exception_ptr, nested_exception, and future conditional. [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add exports for exception_ptr, nested_exception, and future conditional. * configure: Regenerate. * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER. * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE * libsupc++/eh_atomics.h: New file for internal use only. (__eh_atomic_inc, __eh_atomic_dec): New. * libsupc++/eh_ptr.cc (exception_ptr::_M_addref) (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup) (rethrow_exception): Use eh_atomics.h reference counting helpers. * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise. * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise. * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE. * libsupc++/exception_ptr.h: Likewise. * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro. * libsupc++/nested_exception.cc: Remove check for ATOMIC_INT_LOCK_FREE. * libsupc++/nested_exception.h: Likewise. * src/c++11/future.cc: Likewise. * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks. * testsuite/18_support/nested_exception/*: Likewise. * testsuite/30_threads/async/*: Likewise. * testsuite/30_threads/future/*: Likewise. * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise. * testsuite/30_threads/packaged_task/*: Likewise. * testsuite/30_threads/promise/*: Likewise. * testsuite/30_threads/shared_future/*: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244051 138bc75d-0d04-0410-961f-82ee72b054a4 This is a backport of the upstream commit. Signed-off-by: James Feist --- libstdc++-v3/ChangeLog | 38 +++++++++- libstdc++-v3/acinclude.m4 | 37 ++++++++++ libstdc++-v3/config.h.in | 3 + libstdc++-v3/config/abi/pre/gnu.ver | 10 +++ libstdc++-v3/configure | 49 +++++++++++++ libstdc++-v3/configure.ac | 3 + libstdc++-v3/include/std/future | 4 +- libstdc++-v3/libsupc++/eh_atomics.h | 84 ++++++++++++++++++++++ libstdc++-v3/libsupc++/eh_ptr.cc | 14 ++-- libstdc++-v3/libsupc++/eh_throw.cc | 7 +- libstdc++-v3/libsupc++/eh_tm.cc | 5 +- libstdc++-v3/libsupc++/exception | 3 +- libstdc++-v3/libsupc++/exception_ptr.h | 4 -- libstdc++-v3/libsupc++/guard.cc | 1 + libstdc++-v3/libsupc++/nested_exception.cc | 2 - libstdc++-v3/libsupc++/nested_exception.h | 4 -- libstdc++-v3/src/c++11/future.cc | 3 +- .../testsuite/18_support/exception_ptr/40296.cc | 1 - .../18_support/exception_ptr/60612-terminate.cc | 1 - .../18_support/exception_ptr/60612-unexpected.cc | 1 - .../testsuite/18_support/exception_ptr/62258.cc | 1 - .../testsuite/18_support/exception_ptr/64241.cc | 1 - .../18_support/exception_ptr/current_exception.cc | 1 - .../testsuite/18_support/exception_ptr/lifespan.cc | 1 - .../18_support/exception_ptr/make_exception_ptr.cc | 1 - .../testsuite/18_support/exception_ptr/move.cc | 1 - .../18_support/exception_ptr/requirements.cc | 1 - .../18_support/exception_ptr/requirements_neg.cc | 1 - .../18_support/exception_ptr/rethrow_exception.cc | 1 - .../testsuite/18_support/nested_exception/51438.cc | 1 - .../testsuite/18_support/nested_exception/62154.cc | 1 - .../testsuite/18_support/nested_exception/68139.cc | 1 - .../testsuite/18_support/nested_exception/cons.cc | 1 - .../18_support/nested_exception/nested_ptr.cc | 1 - .../nested_exception/rethrow_if_nested.cc | 1 - .../18_support/nested_exception/rethrow_nested.cc | 1 - .../nested_exception/throw_with_nested.cc | 1 - libstdc++-v3/testsuite/30_threads/async/42819.cc | 1 - libstdc++-v3/testsuite/30_threads/async/49668.cc | 1 - libstdc++-v3/testsuite/30_threads/async/54297.cc | 1 - libstdc++-v3/testsuite/30_threads/async/any.cc | 1 - libstdc++-v3/testsuite/30_threads/async/async.cc | 1 - libstdc++-v3/testsuite/30_threads/async/except.cc | 1 - .../testsuite/30_threads/async/forced_unwind.cc | 1 - libstdc++-v3/testsuite/30_threads/async/launch.cc | 1 - libstdc++-v3/testsuite/30_threads/async/lwg2021.cc | 1 - libstdc++-v3/testsuite/30_threads/async/sync.cc | 1 - .../testsuite/30_threads/future/cons/assign_neg.cc | 1 - .../testsuite/30_threads/future/cons/constexpr.cc | 1 - .../testsuite/30_threads/future/cons/copy_neg.cc | 1 - .../testsuite/30_threads/future/cons/default.cc | 1 - .../testsuite/30_threads/future/cons/move.cc | 1 - .../30_threads/future/cons/move_assign.cc | 1 - .../testsuite/30_threads/future/members/45133.cc | 1 - .../testsuite/30_threads/future/members/get.cc | 1 - .../testsuite/30_threads/future/members/get2.cc | 1 - .../testsuite/30_threads/future/members/share.cc | 1 - .../testsuite/30_threads/future/members/valid.cc | 1 - .../testsuite/30_threads/future/members/wait.cc | 1 - .../30_threads/future/members/wait_for.cc | 1 - .../30_threads/future/members/wait_until.cc | 1 - .../future/requirements/explicit_instantiation.cc | 1 - .../30_threads/headers/future/types_std_c++0x.cc | 1 - .../testsuite/30_threads/packaged_task/49668.cc | 1 - .../testsuite/30_threads/packaged_task/60564.cc | 1 - .../testsuite/30_threads/packaged_task/cons/1.cc | 1 - .../testsuite/30_threads/packaged_task/cons/2.cc | 1 - .../testsuite/30_threads/packaged_task/cons/3.cc | 1 - .../30_threads/packaged_task/cons/56492.cc | 1 - .../30_threads/packaged_task/cons/alloc.cc | 1 - .../30_threads/packaged_task/cons/alloc2.cc | 1 - .../30_threads/packaged_task/cons/alloc_min.cc | 1 - .../30_threads/packaged_task/cons/assign_neg.cc | 1 - .../30_threads/packaged_task/cons/copy_neg.cc | 1 - .../30_threads/packaged_task/cons/move.cc | 1 - .../30_threads/packaged_task/cons/move_assign.cc | 1 - .../30_threads/packaged_task/forced_unwind.cc | 1 - .../packaged_task/members/at_thread_exit.cc | 1 - .../30_threads/packaged_task/members/get_future.cc | 1 - .../packaged_task/members/get_future2.cc | 1 - .../30_threads/packaged_task/members/invoke.cc | 1 - .../30_threads/packaged_task/members/invoke2.cc | 1 - .../30_threads/packaged_task/members/invoke3.cc | 1 - .../30_threads/packaged_task/members/invoke4.cc | 1 - .../30_threads/packaged_task/members/invoke5.cc | 1 - .../30_threads/packaged_task/members/reset.cc | 1 - .../30_threads/packaged_task/members/reset2.cc | 1 - .../30_threads/packaged_task/members/swap.cc | 1 - .../30_threads/packaged_task/members/valid.cc | 1 - .../requirements/explicit_instantiation.cc | 1 - .../30_threads/packaged_task/uses_allocator.cc | 1 - libstdc++-v3/testsuite/30_threads/promise/60966.cc | 1 - libstdc++-v3/testsuite/30_threads/promise/69106.cc | 1 - .../testsuite/30_threads/promise/cons/1.cc | 1 - .../testsuite/30_threads/promise/cons/alloc.cc | 1 - .../testsuite/30_threads/promise/cons/alloc2.cc | 1 - .../testsuite/30_threads/promise/cons/alloc_min.cc | 1 - .../30_threads/promise/cons/assign_neg.cc | 1 - .../testsuite/30_threads/promise/cons/copy_neg.cc | 1 - .../testsuite/30_threads/promise/cons/move.cc | 1 - .../30_threads/promise/cons/move_assign.cc | 1 - .../30_threads/promise/members/at_thread_exit.cc | 1 - .../30_threads/promise/members/get_future.cc | 1 - .../30_threads/promise/members/get_future2.cc | 1 - .../30_threads/promise/members/set_exception.cc | 1 - .../30_threads/promise/members/set_exception2.cc | 1 - .../30_threads/promise/members/set_value.cc | 1 - .../30_threads/promise/members/set_value2.cc | 1 - .../30_threads/promise/members/set_value3.cc | 1 - .../testsuite/30_threads/promise/members/swap.cc | 1 - .../promise/requirements/explicit_instantiation.cc | 1 - .../testsuite/30_threads/promise/uses_allocator.cc | 1 - .../30_threads/shared_future/cons/assign.cc | 1 - .../30_threads/shared_future/cons/constexpr.cc | 1 - .../30_threads/shared_future/cons/copy.cc | 1 - .../30_threads/shared_future/cons/default.cc | 1 - .../30_threads/shared_future/cons/move.cc | 1 - .../30_threads/shared_future/cons/move_assign.cc | 1 - .../30_threads/shared_future/members/45133.cc | 1 - .../30_threads/shared_future/members/get.cc | 1 - .../30_threads/shared_future/members/get2.cc | 1 - .../30_threads/shared_future/members/valid.cc | 1 - .../30_threads/shared_future/members/wait.cc | 1 - .../30_threads/shared_future/members/wait_for.cc | 1 - .../30_threads/shared_future/members/wait_until.cc | 1 - .../requirements/explicit_instantiation.cc | 1 - 126 files changed, 236 insertions(+), 144 deletions(-) create mode 100644 libstdc++-v3/libsupc++/eh_atomics.h diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3e8f33c..cb70bd2 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,4 +1,40 @@ -2016-08-22 Release Manager +2017-01-04 Pauli Nieminen + Jonathan Wakely + + PR libstdc++/64735 + * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define. + * config.h.in: Regenerate. + * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46] + (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make + exports for exception_ptr, nested_exception, and future conditional. + [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add + exports for exception_ptr, nested_exception, and future conditional. + * configure: Regenerate. + * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER. + * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE + * libsupc++/eh_atomics.h: New file for internal use only. + (__eh_atomic_inc, __eh_atomic_dec): New. + * libsupc++/eh_ptr.cc (exception_ptr::_M_addref) + (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup) + (rethrow_exception): Use eh_atomics.h reference counting helpers. + * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise. + * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise. + * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE. + * libsupc++/exception_ptr.h: Likewise. + * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro. + * libsupc++/nested_exception.cc: Remove check for + ATOMIC_INT_LOCK_FREE. + * libsupc++/nested_exception.h: Likewise. + * src/c++11/future.cc: Likewise. + * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks. + * testsuite/18_support/nested_exception/*: Likewise. + * testsuite/30_threads/async/*: Likewise. + * testsuite/30_threads/future/*: Likewise. + * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise. + * testsuite/30_threads/packaged_task/*: Likewise. + * testsuite/30_threads/promise/*: Likewise. + * testsuite/30_threads/shared_future/*: Likewise. + * GCC 6.2.0 released. diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index b0f88cb..8341769 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -4419,6 +4419,43 @@ AC_DEFUN([GLIBCXX_CHECK_SIZE_T_MANGLING], [ [Define to the letter to which size_t is mangled.]) ]) +dnl +dnl Determine whether std::exception_ptr symbols should be exported with +dnl the symbol versions from GCC 4.6.0 or GCC 7.1.0, depending on which +dnl release first added support for std::exception_ptr. Originally it was +dnl only supported for targets with always-lock-free atomics for int, but +dnl since GCC 7.1 it is supported for all targets. +dnl +AC_DEFUN([GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER], [ + if test $enable_symvers != no; then + AC_MSG_CHECKING([for first version to support std::exception_ptr]) + case ${target} in + aarch64-*-* | alpha-*-* | hppa*-*-* | i?86-*-* | x86_64-*-* | \ + m68k-*-* | powerpc*-*-* | s390*-*-* | *-*-solaris* ) + ac_exception_ptr_since_gcc46=yes + ;; + *) + # If the value of this macro changes then we will need to hardcode + # yes/no here for additional targets based on the original value. + AC_TRY_COMPILE([], [ + #if __GCC_ATOMIC_INT_LOCK_FREE <= 1 + # error atomic int not always lock free + #endif + ], + [ac_exception_ptr_since_gcc46=yes], + [ac_exception_ptr_since_gcc46=no]) + ;; + esac + if test x"$ac_exception_ptr_since_gcc46" = x"yes" ; then + AC_DEFINE(HAVE_EXCEPTION_PTR_SINCE_GCC46, 1, + [Define to 1 if GCC 4.6 supported std::exception_ptr for the target]) + AC_MSG_RESULT([4.6.0]) + else + AC_MSG_RESULT([7.1.0]) + fi + fi +]) + # Macros from the top-level gcc directory. m4_include([../config/gc++filt.m4]) m4_include([../config/tls.m4]) diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in index 701d479..cc7dbe5 100644 --- a/libstdc++-v3/config.h.in +++ b/libstdc++-v3/config.h.in @@ -120,6 +120,9 @@ /* Define if EWOULDBLOCK exists. */ #undef HAVE_EWOULDBLOCK +/* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */ +#undef HAVE_EXCEPTION_PTR_SINCE_GCC46 + /* Define to 1 if you have the header file. */ #undef HAVE_EXECINFO_H diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index 5c6b0fe..f0a5732 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -1490,6 +1490,9 @@ GLIBCXX_3.4.15 { _ZNSt14error_categoryC*; _ZNSt14error_categoryD*; +#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46 + # std::future symbols are only present in this version when + # atomic operations on int are always lock-free. _ZNSt13__future_base12_Result_baseC*; _ZNSt13__future_base12_Result_baseD*; _ZTINSt13__future_base12_Result_baseE; @@ -1498,6 +1501,7 @@ GLIBCXX_3.4.15 { _ZNSt13__future_base11_State_baseD*; _ZTINSt13__future_base11_State_baseE; _ZTVNSt13__future_base11_State_baseE; +#endif } GLIBCXX_3.4.14; @@ -1674,8 +1678,10 @@ GLIBCXX_3.4.21 { # std::notify_all_at_thread_exit _ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE; +#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46 # std::__future_base::_State_baseV2::_Make_ready::_M_set() _ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv; +#endif # ABI-tagged std::basic_string _ZNSt7__cxx1112basic_string*; @@ -2040,6 +2046,7 @@ CXXABI_1.3.3 { _ZTIPDi; _ZTIPKDi; +#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46 # exception_ptr _ZNSt15__exception_ptr13exception_ptrC1Ev; _ZNSt15__exception_ptr13exception_ptrC2Ev; @@ -2059,6 +2066,7 @@ CXXABI_1.3.3 { _ZSt17current_exceptionv; _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE; +#endif } CXXABI_1.3.2; @@ -2089,10 +2097,12 @@ CXXABI_1.3.5 { # FNV hash. _ZSt15_Fnv_hash_bytesPKv*; +#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46 # std::nested_exception _ZNSt16nested_exceptionD*; _ZTISt16nested_exception; _ZTVSt16nested_exception; +#endif } CXXABI_1.3.4; diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 41797a9..7830085 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -80509,6 +80509,55 @@ _ACEOF +# Check which release added std::exception_ptr for the target + + if test $enable_symvers != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for first version to support std::exception_ptr" >&5 +$as_echo_n "checking for first version to support std::exception_ptr... " >&6; } + case ${target} in + aarch64-*-* | alpha-*-* | hppa*-*-* | i?86-*-* | x86_64-*-* | \ + m68k-*-* | powerpc*-*-* | s390*-*-* | *-*-solaris* ) + ac_exception_ptr_since_gcc46=yes + ;; + *) + # If the value of this macro changes then we will need to hardcode + # yes/no here for additional targets based on the original value. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + #if __GCC_ATOMIC_INT_LOCK_FREE <= 1 + # error atomic int not always lock free + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_exception_ptr_since_gcc46=yes +else + ac_exception_ptr_since_gcc46=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + esac + if test x"$ac_exception_ptr_since_gcc46" = x"yes" ; then + +$as_echo "#define HAVE_EXCEPTION_PTR_SINCE_GCC46 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: 4.6.0" >&5 +$as_echo "4.6.0" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: 7.1.0" >&5 +$as_echo "7.1.0" >&6; } + fi + fi + + # Define documentation rules conditionally. # See if makeinfo has been installed and is modern enough diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index 9e19e99..7dbb758 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -411,6 +411,9 @@ GLIBCXX_CHECK_FILESYSTEM_DEPS # For Transactional Memory TS GLIBCXX_CHECK_SIZE_T_MANGLING +# Check which release added std::exception_ptr for the target +GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER + # Define documentation rules conditionally. # See if makeinfo has been installed and is modern enough diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future index 80b7b06..7a16bf8 100644 --- a/libstdc++-v3/include/std/future +++ b/libstdc++-v3/include/std/future @@ -182,8 +182,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION future<__async_result_of<_Fn, _Args...>> async(_Fn&& __fn, _Args&&... __args); -#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \ - && (ATOMIC_INT_LOCK_FREE > 1) +#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) /// Base class and enclosing scope. struct __future_base @@ -1745,7 +1744,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif // _GLIBCXX_ASYNC_ABI_COMPAT #endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1 - // && ATOMIC_INT_LOCK_FREE // @} group futures _GLIBCXX_END_NAMESPACE_VERSION diff --git a/libstdc++-v3/libsupc++/eh_atomics.h b/libstdc++-v3/libsupc++/eh_atomics.h new file mode 100644 index 0000000..71b42a4 --- /dev/null +++ b/libstdc++-v3/libsupc++/eh_atomics.h @@ -0,0 +1,84 @@ +// Exception Handling support header for -*- C++ -*- + +// Copyright (C) 2016 Free Software Foundation, Inc. +// +// This file is part of GCC. +// +// GCC is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 3, or (at your option) +// any later version. +// +// GCC is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file eh_atomics.h + * This is an internal header file, included by library source files. + * Do not attempt to use it directly. + */ + +#ifndef _EH_ATOMICS_H +#define _EH_ATOMICS_H 1 + +#include +#include +#include +#if ATOMIC_INT_LOCK_FREE <= 1 +# include +#endif + +#pragma GCC visibility push(default) +extern "C++" { +namespace __gnu_cxx +{ + void + __eh_atomic_inc (_Atomic_word* __count) __attribute__((always_inline)); + + bool + __eh_atomic_dec (_Atomic_word* __count) __attribute__((always_inline)); + + // Increments the count. + inline void + __eh_atomic_inc (_Atomic_word* __count) + { +#if ATOMIC_INT_LOCK_FREE > 1 + __atomic_add_fetch (__count, 1, __ATOMIC_ACQ_REL); +#else + _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE (__count); + __gnu_cxx::__atomic_add_dispatch (__count, 1); + _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER (__count); +#endif + } + + // Decrements the count and returns true if it reached zero. + inline bool + __eh_atomic_dec (_Atomic_word* __count) + { +#if ATOMIC_INT_LOCK_FREE > 1 + return __atomic_sub_fetch (__count, 1, __ATOMIC_ACQ_REL) == 0; +#else + _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE (__count); + if (__gnu_cxx::__exchange_and_add_dispatch (__count, -1) == 1) + { + _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER (__count); + return true; + } + return false; +#endif + } +} // namespace __gnu_cxx +} +#pragma GCC visibility pop + +#endif // _EH_ATOMICS_H diff --git a/libstdc++-v3/libsupc++/eh_ptr.cc b/libstdc++-v3/libsupc++/eh_ptr.cc index 3b8e0a01..bb68656 100644 --- a/libstdc++-v3/libsupc++/eh_ptr.cc +++ b/libstdc++-v3/libsupc++/eh_ptr.cc @@ -23,9 +23,7 @@ // . #include -#include - -#if ATOMIC_INT_LOCK_FREE > 1 +#include "eh_atomics.h" #define _GLIBCXX_EH_PTR_COMPAT @@ -103,7 +101,7 @@ std::__exception_ptr::exception_ptr::_M_addref() _GLIBCXX_USE_NOEXCEPT { __cxa_refcounted_exception *eh = __get_refcounted_exception_header_from_obj (_M_exception_object); - __atomic_add_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL); + __gnu_cxx::__eh_atomic_inc (&eh->referenceCount); } } @@ -115,7 +113,7 @@ std::__exception_ptr::exception_ptr::_M_release() _GLIBCXX_USE_NOEXCEPT { __cxa_refcounted_exception *eh = __get_refcounted_exception_header_from_obj (_M_exception_object); - if (__atomic_sub_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL) == 0) + if (__gnu_cxx::__eh_atomic_dec (&eh->referenceCount)) { if (eh->exc.exceptionDestructor) eh->exc.exceptionDestructor (_M_exception_object); @@ -219,7 +217,7 @@ __gxx_dependent_exception_cleanup(_Unwind_Reason_Code code, __cxa_free_dependent_exception (dep); - if (__atomic_sub_fetch (&header->referenceCount, 1, __ATOMIC_ACQ_REL) == 0) + if (__gnu_cxx::__eh_atomic_dec (&header->referenceCount)) { if (header->exc.exceptionDestructor) header->exc.exceptionDestructor (header + 1); @@ -238,7 +236,7 @@ std::rethrow_exception(std::exception_ptr ep) __cxa_dependent_exception *dep = __cxa_allocate_dependent_exception (); dep->primaryException = obj; - __atomic_add_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL); + __gnu_cxx::__eh_atomic_inc (&eh->referenceCount); dep->unexpectedHandler = get_unexpected (); dep->terminateHandler = get_terminate (); @@ -260,5 +258,3 @@ std::rethrow_exception(std::exception_ptr ep) } #undef _GLIBCXX_EH_PTR_COMPAT - -#endif diff --git a/libstdc++-v3/libsupc++/eh_throw.cc b/libstdc++-v3/libsupc++/eh_throw.cc index 9aac218..2bd4780 100644 --- a/libstdc++-v3/libsupc++/eh_throw.cc +++ b/libstdc++-v3/libsupc++/eh_throw.cc @@ -24,6 +24,7 @@ #include #include "unwind-cxx.h" +#include "eh_atomics.h" using namespace __cxxabiv1; @@ -42,17 +43,13 @@ __gxx_exception_cleanup (_Unwind_Reason_Code code, _Unwind_Exception *exc) if (code != _URC_FOREIGN_EXCEPTION_CAUGHT && code != _URC_NO_REASON) __terminate (header->exc.terminateHandler); -#if ATOMIC_INT_LOCK_FREE > 1 - if (__atomic_sub_fetch (&header->referenceCount, 1, __ATOMIC_ACQ_REL) == 0) + if (__gnu_cxx::__eh_atomic_dec (&header->referenceCount)) { -#endif if (header->exc.exceptionDestructor) header->exc.exceptionDestructor (header + 1); __cxa_free_exception (header + 1); -#if ATOMIC_INT_LOCK_FREE > 1 } -#endif } diff --git a/libstdc++-v3/libsupc++/eh_tm.cc b/libstdc++-v3/libsupc++/eh_tm.cc index c05f611..85ae46c 100644 --- a/libstdc++-v3/libsupc++/eh_tm.cc +++ b/libstdc++-v3/libsupc++/eh_tm.cc @@ -24,6 +24,7 @@ #include #include "unwind-cxx.h" +#include "eh_atomics.h" using namespace __cxxabiv1; @@ -45,9 +46,7 @@ free_any_cxa_exception (_Unwind_Exception *eo) __cxa_free_dependent_exception (dep); } -#if __GCC_ATOMIC_INT_LOCK_FREE > 1 - if (__atomic_sub_fetch (&h->referenceCount, 1, __ATOMIC_ACQ_REL) == 0) -#endif + if (__gnu_cxx::__eh_atomic_dec (&h->referenceCount)) __cxa_free_exception (h + 1); } diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception index 63631f6..22cffd6 100644 --- a/libstdc++-v3/libsupc++/exception +++ b/libstdc++-v3/libsupc++/exception @@ -35,7 +35,6 @@ #pragma GCC visibility push(default) #include -#include extern "C++" { @@ -166,7 +165,7 @@ _GLIBCXX_END_NAMESPACE_VERSION #pragma GCC visibility pop -#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1) +#if (__cplusplus >= 201103L) #include #include #endif diff --git a/libstdc++-v3/libsupc++/exception_ptr.h b/libstdc++-v3/libsupc++/exception_ptr.h index 783e539..3429b57 100644 --- a/libstdc++-v3/libsupc++/exception_ptr.h +++ b/libstdc++-v3/libsupc++/exception_ptr.h @@ -36,10 +36,6 @@ #include #include -#if ATOMIC_INT_LOCK_FREE < 2 -# error This platform does not support exception propagation. -#endif - extern "C++" { namespace std diff --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc index 9b61799..66edffb 100644 --- a/libstdc++-v3/libsupc++/guard.cc +++ b/libstdc++-v3/libsupc++/guard.cc @@ -30,6 +30,7 @@ #include #include #include +#include #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \ && (ATOMIC_INT_LOCK_FREE > 1) && defined(_GLIBCXX_HAVE_LINUX_FUTEX) # include diff --git a/libstdc++-v3/libsupc++/nested_exception.cc b/libstdc++-v3/libsupc++/nested_exception.cc index c1a7b7a..82dddb1 100644 --- a/libstdc++-v3/libsupc++/nested_exception.cc +++ b/libstdc++-v3/libsupc++/nested_exception.cc @@ -25,7 +25,5 @@ namespace std { -#if ATOMIC_INT_LOCK_FREE > 1 nested_exception::~nested_exception() noexcept = default; -#endif } // namespace std diff --git a/libstdc++-v3/libsupc++/nested_exception.h b/libstdc++-v3/libsupc++/nested_exception.h index 377b803..b9c6baa 100644 --- a/libstdc++-v3/libsupc++/nested_exception.h +++ b/libstdc++-v3/libsupc++/nested_exception.h @@ -39,10 +39,6 @@ #include #include -#if ATOMIC_INT_LOCK_FREE < 2 -# error This platform does not support exception propagation. -#endif - extern "C++" { namespace std diff --git a/libstdc++-v3/src/c++11/future.cc b/libstdc++-v3/src/c++11/future.cc index 7809a37..a14051a 100644 --- a/libstdc++-v3/src/c++11/future.cc +++ b/libstdc++-v3/src/c++11/future.cc @@ -78,8 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const char* future_error::what() const noexcept { return logic_error::what(); } -#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \ - && (ATOMIC_INT_LOCK_FREE > 1) +#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) __future_base::_Result_base::_Result_base() = default; __future_base::_Result_base::~_Result_base() = default; diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc index 23d8fed..9e866d6 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc index de5ed4a..01faaa2 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc index 14f6ffe..e507262 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc index a714aa3..81f9ab7 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2015-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc index 25002d5..f9d6fb6 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc @@ -16,7 +16,6 @@ // . // { dg-options "-std=gnu++11 -fno-exceptions -O0" } -// { dg-require-atomic-builtins "" } #include #include diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc index 47d521b..497b63d 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // 2008-05-25 Sebastian Redl diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc index bf4f4ab..25b8e41 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // 2008-05-25 Sebastian Redl diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc index 0ea80b1..d0076dc 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc index 762e3dc..20a0d01 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc index ec016ca..a326bdd 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc index d5f7c91..8d6d274 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc index 2afe03d..65fd6ea 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // 2008-05-25 Sebastian Redl diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc b/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc index cfabf66..046db76 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc b/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc index 4af2b1f..a9aa587 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc b/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc index 6be7ec1..18fbc59 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2015-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc b/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc index 25437d9..30e2c32 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc b/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc index 9adb7ee..1382ffe 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc index d98a082..e0a49ea 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc index 6487efa..7fa0015 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc index 5579cc0..4acff59 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/42819.cc b/libstdc++-v3/testsuite/30_threads/async/42819.cc index fd00759..d46c9b0 100644 --- a/libstdc++-v3/testsuite/30_threads/async/42819.cc +++ b/libstdc++-v3/testsuite/30_threads/async/42819.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/49668.cc b/libstdc++-v3/testsuite/30_threads/async/49668.cc index f912bdd..99de898 100644 --- a/libstdc++-v3/testsuite/30_threads/async/49668.cc +++ b/libstdc++-v3/testsuite/30_threads/async/49668.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/54297.cc b/libstdc++-v3/testsuite/30_threads/async/54297.cc index 2462a99..adf1d19 100644 --- a/libstdc++-v3/testsuite/30_threads/async/54297.cc +++ b/libstdc++-v3/testsuite/30_threads/async/54297.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // { dg-require-sleep "" } // Copyright (C) 2012-2016 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/30_threads/async/any.cc b/libstdc++-v3/testsuite/30_threads/async/any.cc index 552b6e7..ee6a9a7 100644 --- a/libstdc++-v3/testsuite/30_threads/async/any.cc +++ b/libstdc++-v3/testsuite/30_threads/async/any.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/async.cc b/libstdc++-v3/testsuite/30_threads/async/async.cc index b8f2d5a..f8e24b6 100644 --- a/libstdc++-v3/testsuite/30_threads/async/async.cc +++ b/libstdc++-v3/testsuite/30_threads/async/async.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/except.cc b/libstdc++-v3/testsuite/30_threads/async/except.cc index fd9d628..36f9e57 100644 --- a/libstdc++-v3/testsuite/30_threads/async/except.cc +++ b/libstdc++-v3/testsuite/30_threads/async/except.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc b/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc index 9e56095..5bd902a 100644 --- a/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc +++ b/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc @@ -2,7 +2,6 @@ // { dg-options " -std=gnu++11 -pthread" { target *-*-linux* *-*-gnu* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/launch.cc b/libstdc++-v3/testsuite/30_threads/async/launch.cc index 3b04f88..aa789f2 100644 --- a/libstdc++-v3/testsuite/30_threads/async/launch.cc +++ b/libstdc++-v3/testsuite/30_threads/async/launch.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc b/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc index ea21083..fb2ca6a 100644 --- a/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc +++ b/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc @@ -21,7 +21,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // LWG 2021. Further incorrect usages of result_of // Arguments to result_of should use decay. diff --git a/libstdc++-v3/testsuite/30_threads/async/sync.cc b/libstdc++-v3/testsuite/30_threads/async/sync.cc index b2f7588..80de8e1 100644 --- a/libstdc++-v3/testsuite/30_threads/async/sync.cc +++ b/libstdc++-v3/testsuite/30_threads/async/sync.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc index 5eded61..a5e52ea 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc b/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc index ebfacee..96d8f63 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11 -fno-inline -g0" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // { dg-final { scan-assembler-not "_ZNSt6futureIvEC2Ev" } } // { dg-final { scan-assembler-not "_ZNSt6futureIiEC2Ev" } } diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc index 5146eb8..f92d157 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/default.cc b/libstdc++-v3/testsuite/30_threads/future/cons/default.cc index bd22ff1..c46df93 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/default.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/default.cc @@ -1,7 +1,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/move.cc b/libstdc++-v3/testsuite/30_threads/future/cons/move.cc index 1f92177..157a0d3 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/move.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/move.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc index 21b9a09..c1f204a 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc @@ -1,7 +1,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/45133.cc b/libstdc++-v3/testsuite/30_threads/future/members/45133.cc index 35fbdb7..d013bf0 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/45133.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/45133.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/get.cc b/libstdc++-v3/testsuite/30_threads/future/members/get.cc index 984fbe3..4d84396 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/get.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/get.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/get2.cc b/libstdc++-v3/testsuite/30_threads/future/members/get2.cc index e8683f8..c3cacdf 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/get2.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/get2.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/share.cc b/libstdc++-v3/testsuite/30_threads/future/members/share.cc index 0992fc0..96662fd 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/share.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/share.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/valid.cc b/libstdc++-v3/testsuite/30_threads/future/members/valid.cc index 2bb9b11..4b56fe5 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/valid.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/valid.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait.cc index 7782871..1b4134e 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/wait.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/wait.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc index b7bd874..77f9c38 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc index 1ce7118..816411f 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc index 95ddf4d..8ab100a 100644 --- a/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc b/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc index ccd85ab..c596685 100644 --- a/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc +++ b/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc index 46ab3d5..a492de1 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc index 6021fdb..bc828cb 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc index 919f136..45ede56 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc index 0611d8a..ff53be1 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc index 11203d5..a08a85e 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc index 0338f98..48de913 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2013-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc index 83c5d9f..640d269 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc index b53fd8d..ea9b147 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc index deacad1..ca22639 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc index dd40133..4517dc4 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc index a4e47fd..0b7356d 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc index cb1d8e0..99c2123 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc index 8025dbf..ed4bec5 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc index 13be918..2c2c85c 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc @@ -2,7 +2,6 @@ // { dg-options " -std=gnu++11 -pthread" { target *-*-linux* *-*-gnu* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc index b217090..76dfee9 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc index 5fab0de..a5aa5c2 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc index a343772..68f4e8d 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc index 5e4c038..8d2955e 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc index 3a3d3a3..b003fb7 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc index a56a895..07dd695 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc index 080a9a8..012fea3 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc index be90276..7dfb177 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc index c7cb184..f08ed64 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc index aade3db..09597e3 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc index d61256b..975db20 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc index 047ffeb..e11411b 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc index 7b7e0f5..37e0676 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc index 1c31673..733ed8b 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/60966.cc b/libstdc++-v3/testsuite/30_threads/promise/60966.cc index 663075a..37fb84a 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/60966.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/60966.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/69106.cc b/libstdc++-v3/testsuite/30_threads/promise/69106.cc index 921ded1..7130a18 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/69106.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/69106.cc @@ -19,7 +19,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } #include diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc index 1258483..873d26f 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc index f35b2b7..ca1686c 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc index c881fc1..a4465c8 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc index 4c8b24b..fac06a2 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc index 018bac3..b4f09e7 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc index d0386e2..f359a07 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc index c1699e4..b1f4b52 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc index 68debd5..1845298 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc b/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc index 1c8469a..b3f8bba 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc b/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc index 44c9205..2ec33c7 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc index 56c3107..fac6267 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc index b753c24..bdc0944 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc index d9850ca..49023cf 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc index a50a7b8..c29788b 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc index 9c308c5..5306644 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc index 16f2b3d..1f170cb 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc b/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc index 834ce97..4a467d0 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc index 1f7fb88..e30a63f 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc b/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc index e9ded97..0aef18e 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc index d0dd9ca..d27fc95 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc @@ -1,7 +1,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc index f82e280..8cf6e38 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11 -fno-inline -g0" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // { dg-final { scan-assembler-not "_ZNSt13shared_futureIvEC2Ev" } } // { dg-final { scan-assembler-not "_ZNSt13shared_futureIiEC2Ev" } } diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc index 61985d8..1448d6c 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc index d4a8b67..51d22e8 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc @@ -1,7 +1,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc index 2017f48..ecb9dc4 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc index 05852d0..adb9ccd3 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc @@ -1,7 +1,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc index e9f1566..3e125c6 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc index cfbb83a..dfd60ef 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc index 1d5a807..7db5d4d 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc index 25cd342..80d43b4 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc index d4aef51..46bc01e 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc index 929ba87..15bfd1b 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc index 52d045d..eebacdd 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc index 767131e..69b6a5c 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2016 Free Software Foundation, Inc. // -- 2.7.4