Support exception propagation without lock-free atomic int
authorPauli Nieminen <suokkos@gmail.com>
Wed, 4 Jan 2017 10:54:59 +0000 (10:54 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 4 Jan 2017 10:54:59 +0000 (10:54 +0000)
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.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r244051

127 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/acinclude.m4
libstdc++-v3/config.h.in
libstdc++-v3/config/abi/pre/gnu.ver
libstdc++-v3/configure
libstdc++-v3/configure.ac
libstdc++-v3/include/std/future
libstdc++-v3/libsupc++/eh_atomics.h [new file with mode: 0644]
libstdc++-v3/libsupc++/eh_ptr.cc
libstdc++-v3/libsupc++/eh_throw.cc
libstdc++-v3/libsupc++/eh_tm.cc
libstdc++-v3/libsupc++/exception
libstdc++-v3/libsupc++/exception_ptr.h
libstdc++-v3/libsupc++/guard.cc
libstdc++-v3/libsupc++/nested_exception.cc
libstdc++-v3/libsupc++/nested_exception.h
libstdc++-v3/src/c++11/future.cc
libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr_2.cc
libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
libstdc++-v3/testsuite/30_threads/async/42819.cc
libstdc++-v3/testsuite/30_threads/async/49668.cc
libstdc++-v3/testsuite/30_threads/async/54297.cc
libstdc++-v3/testsuite/30_threads/async/any.cc
libstdc++-v3/testsuite/30_threads/async/async.cc
libstdc++-v3/testsuite/30_threads/async/except.cc
libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
libstdc++-v3/testsuite/30_threads/async/launch.cc
libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
libstdc++-v3/testsuite/30_threads/async/sync.cc
libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/future/cons/default.cc
libstdc++-v3/testsuite/30_threads/future/cons/move.cc
libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
libstdc++-v3/testsuite/30_threads/future/members/45133.cc
libstdc++-v3/testsuite/30_threads/future/members/get.cc
libstdc++-v3/testsuite/30_threads/future/members/get2.cc
libstdc++-v3/testsuite/30_threads/future/members/share.cc
libstdc++-v3/testsuite/30_threads/future/members/valid.cc
libstdc++-v3/testsuite/30_threads/future/members/wait.cc
libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
libstdc++-v3/testsuite/30_threads/promise/60966.cc
libstdc++-v3/testsuite/30_threads/promise/69106.cc
libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc

index cb477b3a3ffa2906a710c6ffbfd55554a597590e..26483dab21a959e44328744f05b7d4d71dfc609c 100644 (file)
@@ -1,3 +1,40 @@
+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.
+
 2017-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
 
        * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
index c88e4732d0bd80c8546931c188ca53e77bf87e62..958530573035107cfefa8dcc17924a7c11cb46af 100644 (file)
@@ -4480,6 +4480,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])
index 09ddfeb7993c26a10a60fe7f263b467ad397eaa5..41ad510fbc2fb2d33130e15c42519e72f1456f7b 100644 (file)
 /* 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
 
index 10bba011456059db18a0629ca84279fa2c9554c7..3e6e70b6cff6c82398df30fd5d4a91e6f8cdc494 100644 (file)
@@ -1503,6 +1503,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;
@@ -1511,6 +1514,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;
 
@@ -1687,8 +1691,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_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE1[01]**;
@@ -1947,6 +1953,16 @@ GLIBCXX_3.4.23 {
     _ZNSsC[12]ERKSs[jmy]RKSaIcE;
     _ZNSbIwSt11char_traitsIwESaIwEEC[12]ERKS2_mRKS1_;
 
+#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.22;
 
 # Symbols in the support library (libsupc++) have their own tag.
@@ -2080,6 +2096,7 @@ CXXABI_1.3.3 {
     _ZTIPDi;
     _ZTIPKDi;
 
+#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
     # exception_ptr
     _ZNSt15__exception_ptr13exception_ptrC1Ev;
     _ZNSt15__exception_ptr13exception_ptrC2Ev;
@@ -2099,6 +2116,7 @@ CXXABI_1.3.3 {
 
     _ZSt17current_exceptionv;
     _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
+#endif
 
 } CXXABI_1.3.2;
 
@@ -2129,10 +2147,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;
 
@@ -2209,6 +2229,33 @@ CXXABI_1.3.11 {
     _ZdaPvSt11align_val_tRKSt9nothrow_t;
     _ZdaPv[jmy]St11align_val_t;
 
+#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.10;
 
 # Symbols in the support library (libsupc++) supporting transactional memory.
index cbd77f002bddffa9340ec00f3a1ca62ace7a5910..be6763a0e425f795b1327c93025962e13e3a7fd2 100755 (executable)
@@ -80664,6 +80664,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
index 7d0fafab514365411b1074aff94dd14fc2d5ccf4..3d6177116c2d6e5ffd72387b1c8ad787fee15f84 100644 (file)
@@ -419,6 +419,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
index 7897b6e2e0b6145a5960e84ec39b385389fc9e4e..6351d7ef49452d56e37280526dc4763402c4baac 100644 (file)
@@ -192,8 +192,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
@@ -1751,7 +1750,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 (file)
index 0000000..71b42a4
--- /dev/null
@@ -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
index 1308ff938c5afa15bb4a13d9eac559aed991c321..12d8d70268afcc9adf15938387e9a1b3784315ba 100644 (file)
@@ -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
 
@@ -101,7 +99,7 @@ std::__exception_ptr::exception_ptr::_M_addref() 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);
     }
 }
 
@@ -113,7 +111,7 @@ std::__exception_ptr::exception_ptr::_M_release() 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);
@@ -211,7 +209,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);
@@ -230,7 +228,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 ();
@@ -252,5 +250,3 @@ std::rethrow_exception(std::exception_ptr ep)
 }
 
 #undef _GLIBCXX_EH_PTR_COMPAT
-
-#endif
index 397decd2a61c54c66eed213062e510cb68d2fca7..13428d92da7cb75ca59b17820df9889dae254510 100644 (file)
@@ -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_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
 }
 
 extern "C" __cxa_refcounted_exception*
index d0ccd9e8ec3b093697b0a304b2b4a0451a3a9a41..ffb5ef6ccfc4cff15458b55c9506f895a82feb86 100644 (file)
@@ -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_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);
 }
 
index 1ccf329f5a5943cbc4ac6e18f81b2b254a875aad..e51d31c938b63b4aa699833943aac853951a9626 100644 (file)
@@ -35,7 +35,6 @@
 #pragma GCC visibility push(default)
 
 #include <bits/c++config.h>
-#include <bits/atomic_lockfree_defines.h>
 #include <bits/exception.h>
 
 extern "C++" {
@@ -139,7 +138,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
index a2a90172551c989b954e029fcb51ad2d5c7d5d11..2447a5a4639532d1230d494816e6520712c97623 100644 (file)
 #include <typeinfo>
 #include <new>
 
-#if ATOMIC_INT_LOCK_FREE < 2
-#  error This platform does not support exception propagation.
-#endif
-
 extern "C++" {
 
 namespace std 
index ef0b8a88dc13e00ec53415593dd3a13333704546..19953bc52f05381b1e0f2dcf429359844e4aa0eb 100644 (file)
@@ -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>
index 36951e220e3bafce9b48caafec3ebc38753a1ad7..7e1b545184e3aafaa917c411aa0bed59e3a33718 100644 (file)
@@ -25,7 +25,5 @@
 
 namespace std 
 {
-#if ATOMIC_INT_LOCK_FREE > 1
   nested_exception::~nested_exception() noexcept = default;
-#endif
 } // namespace std
index 66e2ebf58ee38850700f36c65b8f2f592b1c5d95..35b025afd84f89dc8f9299105afea00231b4c245 100644 (file)
 #include <bits/c++config.h>
 #include <bits/move.h>
 
-#if ATOMIC_INT_LOCK_FREE < 2
-#  error This platform does not support exception propagation.
-#endif
-
 extern "C++" {
 
 namespace std
index 3ed5bc9ce49beabc8460961cd5100ad355af0361..e138567abe12855872cf55fc3970d0a82ea95d70 100644 (file)
@@ -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;
index 09d4f382effc6be57af220560dcca9982362f520..c7b8055ce7d3fc0ec4958a4ac3f47f01a1907d2a 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do compile { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 5d20f27307bc5b4a894355bd3dbcd7416946a703..43aef953110d716339079ae7840a34a8a7171afc 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2014-2017 Free Software Foundation, Inc.
 //
index c4786274102e834f6809c2215290213391712ab5..356289239a932437218f6f6f79dfa6fcd67864ca 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2014-2017 Free Software Foundation, Inc.
 //
index 10eb7547596083c026ad080abb634cf702e66a80..a53b0669b83f6b3e10fd60ad31d9e87d60c78412 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2015-2017 Free Software Foundation, Inc.
 //
index a94ae84684f90934064595afdcd370c8a7cacbda..8e0e9c2fcb6ae2724c2b7829a815f89fac8cfe56 100644 (file)
@@ -17,7 +17,6 @@
 
 // { dg-options "-fno-exceptions -O0" }
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 #include <exception>
 #include <testsuite_hooks.h>
index 5f83ddc26408fa3a1b4ffddca6e52173fbd04f2f..7ad78e295c8aafbc257f5c56eeb94f0ba06694f3 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // 2008-05-25  Sebastian Redl  <sebastian.redl@getdesigned.at>
 
index 51b3858cd1f7a036fc7c5135a32f7f90dc6c8b5e..58b6a32da3c28a203dedfad4b730af89ff0ef402 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // 2008-05-25  Sebastian Redl  <sebastian.redl@getdesigned.at>
 
index 184b4ded60f76b8fc6cdd8ba27b4617fa9e87718..f86b1897a750a17c8146af0a3cca9b1026595fc0 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 3893f5f36760c89363c38f3d98c9433530d73c0a..bc225d6cd781119917dd358c972c64ea9dd4a0df 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index bb18a467c467fa9790b59c946998af91b7c40121..4576844090b27ababde942e2246799b74b668e59 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index fd47be8e9dff74176f723fcbd113e6b660ed8b0e..7102be66326f7ed6a5a114f4406e18fbaa6bb05d 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 7289cf31b07fbe4a1db07502c2209e348d306380..60d01a99220e09e1b890a7fc0675b71e884acd88 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do compile { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 288c7ef1e26e5ae2b44bb395dc564b465249ff0e..c5461d81c2b0ce9000cfa637b4da427af236f06f 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // 2008-05-25  Sebastian Redl  <sebastian.redl@getdesigned.at>
 
index 69fd02d9db19c9f94f585d410a3c3a8c53edb7fe..5b55fdae4d766db99f2ac0740b6eb5499840790f 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do compile { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index 29a8aebdf78b57380b85663229c853362caf04eb..e6993c934468cd65e8faecbaf4264bb72fc171b5 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2014-2017 Free Software Foundation, Inc.
 //
index e0e9fcaa2baad161df230ca24c0ab319db3d11d8..b2c4528ab56361ed65e091c6f053fadf1faf69c0 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do compile { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2015-2017 Free Software Foundation, Inc.
 //
index 859b50552e5e5afe4ed0ca7d9082e417134b8390..da0842cd78628cd20167987788ffba7a0035e72b 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 52d00ba91da5d6d5583ec41dc1294ce374e45910..7d128f75fb04e4fc383f6a85d98d8d6a0ed8c364 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index cd44b1c3d0dac95dcb10602b9caa3458f25253c9..1af61d611636c54addf57ff5d1096a4202c21134 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 2f307c86d66518a6814924421d255b844fe3d198..b477b2541e92975acbb3024445334e8a1bcad867 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 143521f840d4ad59b245ef33413b9bb8fcf3ca6a..55e0e9de4a5e47926c14441c244f7614289b2935 100644 (file)
@@ -1,5 +1,4 @@
 // { dg-do run { target c++11 } }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 9a605fb51db50620c62f4a89b527533db3d5344d..87555d320c2964c590a913543d9a3cc39d59108c 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 1da2e45d91ca1c71988a7cebf974aa3ddec94f69..e2f8d8ef8a8f124f4d26332a6c873194deea070d 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index 68b1be00de4340c6387c4fd9840b7054bd840ddc..318f6cbe14a337565bcad365fa1379ace0831564 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 // { dg-require-sleep "" }
 
 // Copyright (C) 2012-2017 Free Software Foundation, Inc.
index 27fe8c75d3a6548e3fe711792cdcfe1a25f70ff2..03a152f8a999fe56ffa80fd7152d65de07ec95a4 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 3c90bcaf0d8651d305b4115b5b32ec4b17340640..34f8ec44143c0aac9cd7cb5b052a6ad810d179ed 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 6047d0c5a03eb4834758113ba4a627329916b8e8..d2ac3ed42030db20ad1986dfddf93e986c6632c5 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 85ece1d565a7c76966aa6ded92a58a3e48d5fa62..2597d2ab03013ffd1bea89691051ea812757f7d3 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2014-2017 Free Software Foundation, Inc.
 //
index 65420ffc633f7b58528d1e8fcf9e08311328f0ab..2015f7b00977573f10198be8299af2e627911e17 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index ffcb623fd596065d103df24300571bea9da8abd3..8b38b78f7bc09ce08f9b4341f2d02cc345112055 100644 (file)
@@ -20,7 +20,6 @@
 // { dg-require-effective-target c++11 }
 // { 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.
index 07cbff9b50621ffed96cec1d5e92eb36be44ef67..b41f65d6fbfe02f56b7d8ffeb1ea2c64ac1868f7 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 53dd4fad08c2f488ce9b56f7ea92c977820e5ce4..a32070a7747692c4d03df314cbdd85aed711cdcc 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 25de49f4afc80236b5b8f135e20a1c8c25b7d1f9..cd5061156add64c1880da8e81d2d7765c09da969 100644 (file)
@@ -2,7 +2,6 @@
 // { dg-options "-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" } }
 
index be3a53940af649d050a2960fffaa0c51b8ddd92b..58a7f73c9682e598d02e0baffc53c4490825aedf 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index b2e148e7546dddf265a00620df0325569d60c387..783b38e3a7f13ea7360f769e08cf1776c07db101 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do run { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 5a3c0efcfe2b468da0d4ca23b940e5c849e489a8..763066b51393b086ee766ad7c1704d52ad86e3ed 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 52cb2dda67e62f79e853c84be6cf297671960c2e..91573484ae1e35451bea57952b105d29ebdae737 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do run { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index e16fd0898bf1b8dd2d958031dcd08d997dd3c912..0a4e9010a267adfa81b74b66836de90040924047 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 44509e3645f8bd31e8be2c33b25a05a64221fc76..531706a66dfa9f8c1365e1f70a153bab5700fef4 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index da8c048ab107ae44afdbdddb7a4e2fd64d3802c2..451d97b43709679710906a5efb4004f18753aa87 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index d08b8d0415de4f7bdd4bf1c66ee16ee3ad5787c3..9619ff189e2b6d5ffbc62e177ec947bec5ee95b9 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index 66a5db7957bbc795cfd853f8c6bb06d07b450696..b43f1687f134734f373ce4c11c542e2eaf2051b9 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 157a28c8676a2fd156e40d2bcb33f55abfb33b64..cc7375829d8da1e719184e2ee1862d33bcaaa9a9 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 408066f353415bcca50bde1b107ab1a0ae3635ce..e77606b4a0502e241553dfdd65874b5e88bb65ea 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 998eda6eeb5a2ab696d0e9045470a2ef9f34bbe5..f9fef11f0ea0fab9811891b0ef20d0e7df07520c 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index aa2ae0aa0a92dde161d29e8e567b557d9becc3a2..1a6e2623493e678d71981bf0d1acfdc30a740827 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 0c30622d6ae08bee467ffb00ce4044880442d3be..4c15fbf1fa882726b2afe6c21ee05f15f759a612 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" } 
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index a8fb01bd80f8df13830ff587f6ebca8b28e9b0d6..4107004e2e464f26d08fd6ede86f6e5cba572d9d 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index a80f4b6a029c150bec489dd1fc65e110cc585aaf..a1d4e35e20afca8e5da769c4987c9fbdc2265356 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2014-2017 Free Software Foundation, Inc.
 //
index c922038a43f46ccc2c9ecee509668070b41ceb56..dd7f21457d267956fa66bd6eb7d4b000852c1100 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 8264d19daac9fa95980e10a06d5dc7bdcd10c210..c72943494289cd756849d4a83b4d310c8dbe1983 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index e74d3e7b4d0f2bcab7de6c620caaf0b895539a08..30ae5da5dda91116925ce55683a193d16dce0439 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index 37f704316c2422323ed09649f6e0bb489e8e6499..7073360c818ec9c8ca647d4dc2256450ca60bc93 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2013-2017 Free Software Foundation, Inc.
 //
index e6ba6313543db854f8129c06b202104a942206c7..c45c9eaab1b906d191703878166d16a350a0e4c6 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index e2ebceb5b44e4d50eef0e5aed374dcea3fc74971..f6643918eac7d35793580034521a8f1b55614f28 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index 23f713397a4bcd730d2e32acd4d8623fea0309c9..e1f99e0dfab7d7535424f509588ac0b6da8f3fc8 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index 7c4edb9ba85dbdfc999cf59dfae75c2b7010b5a6..f8f501e200b1cfd26993033fa71e17da30ea6f49 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index f95fbfd264fd3b3fe1364a60379c75cd5b01146c..8d007f8a52b48f1717a5b825506dc175690275f5 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 5bc750bb1c15f368eb801831d2838043d3352183..bd5cbd5d5a00c78a2ea8ebd6a1b299559c305255 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 6d89b087d8170bb1c70ace3fa1163f596a0bdd65..165b9775a1bb9f097cc4373cc0740580658fb134 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 2d63602b8511f8c34ae7537214d61ba0fb67c37d..cff92797dfdbf1d08bcc6cdb210b7120fb484d5d 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do run { target *-*-linux* *-*-gnu* } }
 // { dg-options "-pthread" { target *-*-linux* *-*-gnu* *-*-solaris* } }
 // { dg-require-effective-target c++11 }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2014-2017 Free Software Foundation, Inc.
 //
index 3cc2a9c6e18cbcb053592912dafc9bca1e01e7aa..60700e21544b6fb2cab2afb517363841b155dbf0 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2014-2017 Free Software Foundation, Inc.
 //
index 039384cca4b2d101722dc6a5fec461eca8735197..e11ef8c172a922f94c336670bb03b18ef6a99720 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 57c2f457792b87041191811ad896ada783abedad..d0664b0d822807e7e529582d4dfa45a9f8b228ca 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 1755998cc578bd36d897073f5ea58a227782e47f..0099f3792d45c7db5a42e87049ecdaf52f4d3595 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 5dd85c2ad3e819564d1ffcbc3a7f6b9784f623ea..9a08879e0c6a4f739055779a52b367a4e0a753f8 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 1cce1802630a23f72df14d0969fd5393053d5805..20e14fcea7db51adeda63cb5833f5387e4ee1c5a 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index f3439deb7d33a964a54618e2f7be45376d8bcb9a..7ff3f0869e293c00afc3f3832f2d826c3cc728e5 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index a4231ea6dfa832c57dd93be060cd28b10ff86c0c..2be1e8d673e0be2bc0fe496c58e6e1c1a180842c 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index bde58d3fa0685e365d76547939b7b38d42e24f64..2643120ec363cfbb13d46c0ea329bf697b68f5c8 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 2eb2d099447fecee9e5bb5184069d414601117cd..79a33cdda5c51490216065258bea7565bf6d9fc3 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index aec95d7860ce3befef421b48c683cbdd1ae2e8d1..b2453d0ff7352472af0b80a13603b5a9ea26eaf1 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index f1318271853f1446b9761b1e0eada3482ad23ded..422b95152f53ab19084e6c5692a1143d2f40537f 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index a508b3131c9aa807f652154667cff53f0448aeae..ea3d0b4358e082e6f9247b119f8c1c5b63b6b16b 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 76fd7d82b7f694164df10e866fa8149957b0a444..5cda284b1808d1ed86ecb9c1191569893ad54704 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index dff1540acfdcf1a1621afb9af0a591adc833316f..38c45fda19bafe981d0415ef8ea4e77f563bb12f 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2014-2017 Free Software Foundation, Inc.
 //
index e59d6a7de0bbcb6569a29336761e4a7ee38b5943..a2092793ed8a12713c6262de0d0f3ccc3d7316ed 100644 (file)
@@ -18,7 +18,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 #include <future>
 
index 035f6058c4825c196b6563e196a91adc8e58a8c7..0c5d209836ecbfc11849f03b5bc811809a2562df 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index f233be2097db3980a823373945f4e289b2101328..a51dd2a06282512eff573276a2b672a6686961df 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 0febeb3d26b6c0b86e91469faaad9b98f750c59a..ad7f35ba2106d7b6bc1b509ecb9be61ccc4ddb11 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index 002ea042776dbc3ff0587952a758bf74f93c7d67..388da2d49d30e5e2388b6b987566db0a5d107ffa 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index 32e3a6a30c8914c82dc19bc48ac6c612384518f0..837ffaeee13d3404466bf9ac40644e274c10e344 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 921f18b42aeca1607cef90645dad2cb3e7b22d4c..0d9db76f78c0cb6b9fa9ccf99ed83f007e4ca26c 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 9d7e1e88d7c1ae19752e2e11208cf7b97e8400e5..a62b465279273482d9ebb2c65a2f5c71fb48ec9f 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index efd44b7a97db64f12e9c9398412f7b91bdbccda7..65f9546971fa0218295606ea986ac48c407b5d87 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 867ff7f8035a5c0be024e7a87c7e65774f010340..08331bf9d3b93a96bd0498649cc5c31dec1adeb7 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2014-2017 Free Software Foundation, Inc.
 //
index f20316a3dab0147fc30eb8263ec07123b5170a9a..72ae208f718e1980620b2d7cc139ebd709646a04 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 229577a16de4daa0be23850418e1f84d64f22d30..117de2c9b257a9d240615f77e81b6fc7a065cb0a 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index f285e7269600a9b8d90d2c488e1a76a5b9e9c3dd..6ff4a348f2a8a96ed7d69666e6d303dcf3cbf554 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 6fd84956c0b90f6df4117eaf12c690b016565d91..1b1a0667860c8beb48eb47c68c0161c8cf0c73f9 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index fcfa187e391aaa49b052c7fa66787e6702d31e96..7c08278ecf2620994df9c18930eff0858503de94 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 9f3839ab56759655b2acb4ecd820fd93b99a1626..0c4e87a253d89c32d0b5685e089f12f22436ea6b 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 595f0e94394075e55f6d622671f49281a9b4b28b..110b79ad49d59164cee3d56b26ea5aacf5a7148e 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index d0d4b7309817044592bc118591f318f50afa3681..15b1a17630964c241bf559fbb852c5d98660f793 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 3b125e99e1c1701f212a7485753327638543bc46..5d6bcf35941477e264b03d899ea754361cac0fad 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 71a6c648e7c843770becb83a960b6c13093259ed..d08315381fd52a080b6f6574e828f222eed1e1dd 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
 //
index a1d70ff002fb0621d24c776f37726e502f3218e0..6716416d832efc51ba4a31f10f0275183b5a8093 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do run { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index e8e5594889c2708c41afecd475aa7fecc345a0d6..afacf44701622b32b6375e2afeba4fffafe530ad 100644 (file)
@@ -2,7 +2,6 @@
 // { dg-options "-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" } }
 
index fe1308ea0cd96ef5f1a014107022b156d49d2984..9f037bfd7ccfff5a454344c88118af3931f70ce6 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 9d8040c7343884d707f3698b0f853a7cdc87e063..a4d5c8a1df352858d257733ecefb9610f547fa23 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do run { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 24777e6891f36b7ac17c268b1fab719359c0dea9..6e9d8f86647d8e30a9eaa9ee38fae3a571bc2e19 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index f9f71d801a1afdc7c49f023bdbf6191740990890..68910c11ef9090472a43c400e282ab2dd843addb 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do run { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 0e205ae882ea0c02b8e7adc243bb362fa5826ff4..6933bede473c70d3db4e9680e1177a6d75b13e4f 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 270edab9869763e346737dee373408c3949b72bc..0e84d8b13b8fe79b3cbcfc19a71e38bb66098612 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 6c50ce4916081b2f44c878e2a22ee634be7811b3..4bfa177d4e7f56a72fd2e50e596f1471b2e70985 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 1c436c079a6b8490487ac06b26aae77b548227fc..dda7a571b619c9483d2c7c7f7e26cfde3f4be6a0 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2010-2017 Free Software Foundation, Inc.
 //
index 6f98a862cbc8ea36bc33a2bc7c0232e2072254ed..725180fc263ec6b24faff9fbc012704414517f96 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 7220af1c83ef5cdbbb2675f7e78a27a40ec55c25..7d62ffd91491239ed75adaf12ad8184f0ec3d8ba 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index ce0133b861ed472f7fa3fbf1a6d945df0565b022..5eac3d12f41eb514d02ac73f251babe63f0c1373 100644 (file)
@@ -3,7 +3,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //
index 69747d6b2474b0ad6b7bd97f66f6fae30d29fd77..a48d45c4ccd4f59e1aa618d7e036233d28fd0a2b 100644 (file)
@@ -1,7 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-require-cstdint "" }
 // { dg-require-gthreads "" }
-// { dg-require-atomic-builtins "" }
 
 // Copyright (C) 2009-2017 Free Software Foundation, Inc.
 //