From c45be7f1aef92f2ea7363cbc4627f943b83ca902 Mon Sep 17 00:00:00 2001 From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed, 4 Jan 2017 10:54:59 +0000 Subject: [PATCH] Support exception propagation without lock-free atomic int 2017-01-04 Pauli Nieminen <suokkos@gmail.com> Jonathan Wakely <jwakely@redhat.com> 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 Rebased on top of 5.4.0-git /tmb Signed-off-by: Thomas Backlund <tmb@mageia.org> --- libstdc++-v3/ChangeLog | 37 ++++++++++ libstdc++-v3/acinclude.m4 | 37 ++++++++++ libstdc++-v3/config.h.in | 3 + libstdc++-v3/config/abi/pre/gnu.ver | 47 ++++++++++++ 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 - .../exception_ptr/make_exception_ptr_2.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 - 127 files changed, 273 insertions(+), 144 deletions(-) create mode 100644 libstdc++-v3/libsupc++/eh_atomics.h diff -Nurp gcc-5.4.0/libstdc++-v3/acinclude.m4 gcc-5.4.0-git/libstdc++-v3/acinclude.m4 --- gcc-5.4.0/libstdc++-v3/acinclude.m4 2017-03-26 16:19:02.207654768 +0300 +++ gcc-5.4.0-git/libstdc++-v3/acinclude.m4 2017-03-26 15:41:27.759397124 +0300 @@ -4178,6 +4178,43 @@ dnl AC_LANG_RESTORE ]) +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 -Nurp gcc-5.4.0/libstdc++-v3/config/abi/pre/gnu.ver gcc-5.4.0-git/libstdc++-v3/config/abi/pre/gnu.ver --- gcc-5.4.0/libstdc++-v3/config/abi/pre/gnu.ver 2015-06-15 15:31:15.000000000 +0300 +++ gcc-5.4.0-git/libstdc++-v3/config/abi/pre/gnu.ver 2017-03-26 16:08:33.239788224 +0300 @@ -1487,6 +1487,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; @@ -1495,6 +1498,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; @@ -1671,8 +1675,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*; @@ -1861,6 +1867,16 @@ GLIBCXX_3.4.21 { _ZNSt7__cxx1117moneypunct_bynameI[cw]Lb0EEC[1-5]ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEE[jmy]; _ZNSt7__cxx1117moneypunct_bynameI[cw]Lb1EEC[1-5]ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEE[jmy]; +#ifndef HAVE_EXCEPTION_PTR_SINCE_GCC46 + # std::future symbols are exported in the first version to support + # std::exception_ptr + _ZNSt13__future_base12_Result_baseC*; + _ZNSt13__future_base12_Result_baseD*; + _ZTINSt13__future_base12_Result_baseE; + _ZTVNSt13__future_base12_Result_baseE; + _ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv; +#endif + } GLIBCXX_3.4.20; @@ -1995,6 +2011,7 @@ CXXABI_1.3.3 { _ZTIPDi; _ZTIPKDi; +#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46 # exception_ptr _ZNSt15__exception_ptr13exception_ptrC1Ev; _ZNSt15__exception_ptr13exception_ptrC2Ev; @@ -2014,6 +2031,7 @@ CXXABI_1.3.3 { _ZSt17current_exceptionv; _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE; +#endif } CXXABI_1.3.2; @@ -2044,10 +2062,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; @@ -2093,6 +2113,33 @@ CXXABI_1.3.9 { # operator delete[](void*, std::size_t) _ZdaPv[jmy]; +#ifndef HAVE_EXCEPTION_PTR_SINCE_GCC46 + # exception_ptr + _ZNSt15__exception_ptr13exception_ptrC1Ev; + _ZNSt15__exception_ptr13exception_ptrC2Ev; + _ZNSt15__exception_ptr13exception_ptrC1ERKS0_; + _ZNSt15__exception_ptr13exception_ptrC2ERKS0_; + _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE; + _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE; + _ZNSt15__exception_ptr13exception_ptrD1Ev; + _ZNSt15__exception_ptr13exception_ptrD2Ev; + _ZNSt15__exception_ptr13exception_ptraSERKS0_; + _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv; + _ZNKSt15__exception_ptr13exception_ptrntEv; + _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv; + _ZNSt15__exception_ptr13exception_ptr4swapERS0_; + _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_; + _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_; + + _ZSt17current_exceptionv; + _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE; + + # std::nested_exception + _ZNSt16nested_exceptionD*; + _ZTISt16nested_exception; + _ZTVSt16nested_exception; +#endif + } CXXABI_1.3.8; # Symbols in the support library (libsupc++) supporting transactional memory. diff -Nurp gcc-5.4.0/libstdc++-v3/config.h.in gcc-5.4.0-git/libstdc++-v3/config.h.in --- gcc-5.4.0/libstdc++-v3/config.h.in 2017-03-26 16:19:02.208654857 +0300 +++ gcc-5.4.0-git/libstdc++-v3/config.h.in 2017-03-26 15:41:27.759397124 +0300 @@ -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 <execinfo.h> header file. */ #undef HAVE_EXECINFO_H diff -Nurp gcc-5.4.0/libstdc++-v3/configure gcc-5.4.0-git/libstdc++-v3/configure --- gcc-5.4.0/libstdc++-v3/configure 2017-03-26 16:19:02.214655390 +0300 +++ gcc-5.4.0-git/libstdc++-v3/configure 2017-03-26 15:41:27.766397747 +0300 @@ -79522,6 +79522,55 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu +# 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 -Nurp gcc-5.4.0/libstdc++-v3/configure.ac gcc-5.4.0-git/libstdc++-v3/configure.ac --- gcc-5.4.0/libstdc++-v3/configure.ac 2015-11-24 15:25:07.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/configure.ac 2017-03-26 15:41:27.766397747 +0300 @@ -408,6 +408,9 @@ AC_CHECK_HEADERS([fcntl.h dirent.h sys/s GLIBCXX_ENABLE_FILESYSTEM_TS GLIBCXX_CHECK_FILESYSTEM_DEPS +# 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 -Nurp gcc-5.4.0/libstdc++-v3/include/std/future gcc-5.4.0-git/libstdc++-v3/include/std/future --- gcc-5.4.0/libstdc++-v3/include/std/future 2015-03-06 14:31:43.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/include/std/future 2017-03-26 15:41:27.766397747 +0300 @@ -176,8 +176,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION future<typename result_of<_Fn(_Args...)>::type> 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 @@ -1728,7 +1727,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 -Nurp gcc-5.4.0/libstdc++-v3/libsupc++/eh_atomics.h gcc-5.4.0-git/libstdc++-v3/libsupc++/eh_atomics.h --- gcc-5.4.0/libstdc++-v3/libsupc++/eh_atomics.h 1970-01-01 02:00:00.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/libsupc++/eh_atomics.h 2017-03-26 15:41:27.766397747 +0300 @@ -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 +// <http://www.gnu.org/licenses/>. + +/** @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 <bits/c++config.h> +#include <bits/atomic_word.h> +#include <bits/atomic_lockfree_defines.h> +#if ATOMIC_INT_LOCK_FREE <= 1 +# include <ext/atomicity.h> +#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 -Nurp gcc-5.4.0/libstdc++-v3/libsupc++/eh_ptr.cc gcc-5.4.0-git/libstdc++-v3/libsupc++/eh_ptr.cc --- gcc-5.4.0/libstdc++-v3/libsupc++/eh_ptr.cc 2015-09-03 18:10:25.000000000 +0300 +++ gcc-5.4.0-git/libstdc++-v3/libsupc++/eh_ptr.cc 2017-03-26 15:41:27.766397747 +0300 @@ -23,9 +23,7 @@ // <http://www.gnu.org/licenses/>. #include <bits/c++config.h> -#include <bits/atomic_lockfree_defines.h> - -#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_ { __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_ { __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(_Unwin __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_pt __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_pt } #undef _GLIBCXX_EH_PTR_COMPAT - -#endif diff -Nurp gcc-5.4.0/libstdc++-v3/libsupc++/eh_throw.cc gcc-5.4.0-git/libstdc++-v3/libsupc++/eh_throw.cc --- gcc-5.4.0/libstdc++-v3/libsupc++/eh_throw.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/libsupc++/eh_throw.cc 2017-03-26 15:41:27.767397836 +0300 @@ -24,6 +24,7 @@ #include <bits/c++config.h> #include "unwind-cxx.h" +#include "eh_atomics.h" using namespace __cxxabiv1; @@ -42,17 +43,13 @@ __gxx_exception_cleanup (_Unwind_Reason_ 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 -Nurp gcc-5.4.0/libstdc++-v3/libsupc++/eh_tm.cc gcc-5.4.0-git/libstdc++-v3/libsupc++/eh_tm.cc --- gcc-5.4.0/libstdc++-v3/libsupc++/eh_tm.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/libsupc++/eh_tm.cc 2017-03-26 15:41:27.767397836 +0300 @@ -24,6 +24,7 @@ #include <cstdlib> #include "unwind-cxx.h" +#include "eh_atomics.h" using namespace __cxxabiv1; @@ -45,9 +46,7 @@ free_any_cxa_exception (_Unwind_Exceptio __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 -Nurp gcc-5.4.0/libstdc++-v3/libsupc++/exception gcc-5.4.0-git/libstdc++-v3/libsupc++/exception --- gcc-5.4.0/libstdc++-v3/libsupc++/exception 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/libsupc++/exception 2017-03-26 16:12:00.397189021 +0300 @@ -35,7 +35,6 @@ #pragma GCC visibility push(default) #include <bits/c++config.h> -#include <bits/atomic_lockfree_defines.h> extern "C++" { @@ -158,7 +157,7 @@ _GLIBCXX_END_NAMESPACE_VERSION #pragma GCC visibility pop -#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1) +#if (__cplusplus >= 201103L) #include <bits/exception_ptr.h> #include <bits/nested_exception.h> #endif diff -Nurp gcc-5.4.0/libstdc++-v3/libsupc++/exception_ptr.h gcc-5.4.0-git/libstdc++-v3/libsupc++/exception_ptr.h --- gcc-5.4.0/libstdc++-v3/libsupc++/exception_ptr.h 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/libsupc++/exception_ptr.h 2017-03-26 15:41:27.767397836 +0300 @@ -36,10 +36,6 @@ #include <bits/c++config.h> #include <bits/exception_defines.h> -#if ATOMIC_INT_LOCK_FREE < 2 -# error This platform does not support exception propagation. -#endif - extern "C++" { namespace std diff -Nurp gcc-5.4.0/libstdc++-v3/libsupc++/guard.cc gcc-5.4.0-git/libstdc++-v3/libsupc++/guard.cc --- gcc-5.4.0/libstdc++-v3/libsupc++/guard.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/libsupc++/guard.cc 2017-03-26 15:41:27.767397836 +0300 @@ -30,6 +30,7 @@ #include <new> #include <ext/atomicity.h> #include <ext/concurrence.h> +#include <bits/atomic_lockfree_defines.h> #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \ && (ATOMIC_INT_LOCK_FREE > 1) && defined(_GLIBCXX_HAVE_LINUX_FUTEX) # include <climits> diff -Nurp gcc-5.4.0/libstdc++-v3/libsupc++/nested_exception.cc gcc-5.4.0-git/libstdc++-v3/libsupc++/nested_exception.cc --- gcc-5.4.0/libstdc++-v3/libsupc++/nested_exception.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/libsupc++/nested_exception.cc 2017-03-26 15:41:27.767397836 +0300 @@ -25,7 +25,5 @@ namespace std { -#if ATOMIC_INT_LOCK_FREE > 1 nested_exception::~nested_exception() noexcept = default; -#endif } // namespace std diff -Nurp gcc-5.4.0/libstdc++-v3/libsupc++/nested_exception.h gcc-5.4.0-git/libstdc++-v3/libsupc++/nested_exception.h --- gcc-5.4.0/libstdc++-v3/libsupc++/nested_exception.h 2015-03-17 16:24:55.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/libsupc++/nested_exception.h 2017-03-26 15:41:27.767397836 +0300 @@ -38,10 +38,6 @@ #include <bits/c++config.h> -#if ATOMIC_INT_LOCK_FREE < 2 -# error This platform does not support exception propagation. -#endif - extern "C++" { namespace std diff -Nurp gcc-5.4.0/libstdc++-v3/src/c++11/future.cc gcc-5.4.0-git/libstdc++-v3/src/c++11/future.cc --- gcc-5.4.0/libstdc++-v3/src/c++11/future.cc 2015-03-18 20:08:29.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/src/c++11/future.cc 2017-03-26 15:41:27.767397836 +0300 @@ -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 -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc 2017-03-26 16:17:05.216264562 +0300 @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc 2017-03-26 16:16:56.508491183 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc 2017-03-26 16:16:38.087854970 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc 2015-09-03 18:10:25.000000000 +0300 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc 2017-03-26 16:16:31.234246182 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc 2017-03-26 16:16:24.561653506 +0300 @@ -16,7 +16,6 @@ // <http://www.gnu.org/licenses/>. // { dg-options "-std=gnu++11 -fno-exceptions -O0" } -// { dg-require-atomic-builtins "" } #include <exception> #include <testsuite_hooks.h> diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc 2017-03-26 16:16:12.381571603 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // 2008-05-25 Sebastian Redl <sebastian.redl@getdesigned.at> diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc 2017-03-26 16:16:06.552053805 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // 2008-05-25 Sebastian Redl <sebastian.redl@getdesigned.at> diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc 2017-03-26 16:16:00.172487118 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc 2017-03-26 16:15:52.784830921 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc 2017-03-26 16:15:44.815123010 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc 2017-03-26 16:15:31.420933272 +0300 @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc 2017-03-26 16:15:23.379218950 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // 2008-05-25 Sebastian Redl <sebastian.redl@getdesigned.at> diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc 2017-03-26 16:14:28.400335435 +0300 @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc 2017-03-26 16:14:18.319440002 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc 2017-03-26 16:14:12.114888895 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc 2017-03-26 16:14:05.081264117 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc 2017-03-26 16:13:57.540594327 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc 2017-03-26 16:13:47.826731473 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc --- gcc-5.4.0/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc 2015-03-17 16:24:55.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc 2017-03-26 16:13:35.220611736 +0300 @@ -1,5 +1,4 @@ // { dg-options "-std=gnu++11" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/42819.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/42819.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/42819.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/42819.cc 2017-03-26 15:41:56.050910584 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/49668.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/49668.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/49668.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/49668.cc 2017-03-26 15:41:56.050910584 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/54297.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/54297.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/54297.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/54297.cc 2017-03-26 15:41:56.050910584 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // { dg-require-sleep "" } // Copyright (C) 2012-2015 Free Software Foundation, Inc. diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/any.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/any.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/any.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/any.cc 2017-03-26 15:41:56.050910584 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/async.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/async.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/async.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/async.cc 2017-03-26 15:41:56.050910584 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc 2017-03-26 15:41:56.109915823 +0300 @@ -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-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/launch.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/launch.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/launch.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/launch.cc 2017-03-26 15:41:56.109915823 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/sync.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/sync.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/async/sync.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/async/sync.cc 2017-03-26 15:41:56.169921150 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc 2017-03-26 15:41:56.169921150 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc 2017-03-26 15:41:56.169921150 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11 -fno-inline -save-temps -g0" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // { dg-final { scan-assembler-not "_ZNSt6futureIvEC2Ev" } } // { dg-final { scan-assembler-not "_ZNSt6futureIiEC2Ev" } } diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc 2017-03-26 15:41:56.169921150 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/cons/default.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/cons/default.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/cons/default.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/cons/default.cc 2017-03-26 15:41:56.169921150 +0300 @@ -1,7 +1,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc 2017-03-26 15:41:56.169921150 +0300 @@ -1,7 +1,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/cons/move.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/cons/move.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/cons/move.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/cons/move.cc 2017-03-26 15:41:56.169921150 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/45133.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/45133.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/45133.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/45133.cc 2017-03-26 15:41:56.169921150 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/get2.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/get2.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/get2.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/get2.cc 2017-03-26 15:41:56.169921150 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/get.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/get.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/get.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/get.cc 2017-03-26 15:41:56.169921150 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/share.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/share.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/share.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/share.cc 2017-03-26 15:41:56.169921150 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/valid.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/valid.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/valid.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/valid.cc 2017-03-26 15:41:56.169921150 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/wait.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/wait.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/wait.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/wait.cc 2017-03-26 15:41:56.169921150 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc 2017-03-26 15:41:56.169921150 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc 2017-03-26 15:41:56.169921150 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc 2017-03-26 15:41:56.170921239 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc 2017-03-26 15:41:56.170921239 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc 2017-03-26 15:41:56.170921239 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc 2017-03-26 15:41:56.170921239 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc 2017-03-26 15:41:56.170921239 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc 2017-03-26 15:41:56.170921239 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc 2017-03-26 15:41:56.170921239 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc 2017-03-26 15:41:56.170921239 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2013-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc 2017-03-26 15:41:56.170921239 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc 2017-03-26 15:41:56.170921239 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc 2017-03-26 15:41:56.170921239 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc 2017-03-26 15:41:56.170921239 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc 2017-03-26 15:41:56.170921239 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc 2017-03-26 15:41:56.170921239 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc 2017-03-26 15:41:56.170921239 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc 2017-03-26 15:41:56.170921239 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc 2017-03-26 15:41:56.171921328 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc 2017-03-26 15:41:56.171921328 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc 2017-03-26 15:41:56.171921328 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc 2017-03-26 15:41:56.171921328 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc 2017-03-26 15:41:56.171921328 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc 2017-03-26 15:41:56.171921328 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc 2017-03-26 15:41:56.171921328 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc 2017-03-26 15:41:56.171921328 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc 2017-03-26 15:41:56.171921328 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc 2017-03-26 15:41:56.171921328 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc 2017-03-26 15:41:56.171921328 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc 2017-03-26 15:41:56.171921328 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc 2017-03-26 15:41:56.171921328 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/60966.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/60966.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/60966.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/60966.cc 2017-03-26 15:41:56.171921328 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc 2017-03-26 15:41:56.231926661 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc 2017-03-26 15:41:56.231926661 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc 2017-03-26 15:41:56.231926661 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc 2017-03-26 15:41:56.231926661 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc 2017-03-26 15:41:56.231926661 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc 2017-03-26 15:41:56.232926750 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc 2017-03-26 15:41:56.232926750 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc 2017-03-26 15:41:56.232926750 +0300 @@ -1,7 +1,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc 2017-03-26 15:41:56.232926750 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11 -fno-inline -save-temps -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 -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc 2017-03-26 15:41:56.232926750 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc 2017-03-26 15:41:56.232926750 +0300 @@ -1,7 +1,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc 2017-03-26 15:41:56.232926750 +0300 @@ -1,7 +1,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc 2017-03-26 15:41:56.232926750 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc 2017-03-26 15:41:56.232926750 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc 2017-03-26 15:41:56.232926750 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc 2017-03-26 15:41:56.232926750 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc 2017-03-26 15:41:56.232926750 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc 2017-03-26 15:41:56.232926750 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc 2017-03-26 15:41:56.232926750 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc 2017-03-26 15:41:56.232926750 +0300 @@ -4,7 +4,6 @@ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. // diff -Nurp gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc --- gcc-5.4.0/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc 2015-01-05 14:33:28.000000000 +0200 +++ gcc-5.4.0-git/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc 2017-03-26 15:41:56.232926750 +0300 @@ -2,7 +2,6 @@ // { dg-options "-std=gnu++11" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2015 Free Software Foundation, Inc. //