Yocto 2.3

Move OpenBMC to Yocto 2.3(pyro).

Tested: Built and verified Witherspoon and Palmetto images
Change-Id: I50744030e771f4850afc2a93a10d3507e76d36bc
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Resolves: openbmc/openbmc#2461
diff --git a/common/recipes-core/dropbear/dropbear_%.bbappend b/common/recipes-core/dropbear/dropbear_%.bbappend
index 165a19e..8071497 100644
--- a/common/recipes-core/dropbear/dropbear_%.bbappend
+++ b/common/recipes-core/dropbear/dropbear_%.bbappend
@@ -1,5 +1,3 @@
-inherit obmc-phosphor-discovery-service
-
 # 0001-Only-load-dropbear-default-host-keys-if-a-key-is-not.patch
 # has been upstreamed.  This patch can be removed once we upgrade
 # to yocto 2.5 or later which will pull in the latest dropbear code.
@@ -7,5 +5,3 @@
 SRC_URI += "file://dropbearkey.service \
 	    file://0001-dropbear-Add-c-command-option-to-force-a-specific-co.patch \
 	    file://0001-Only-load-dropbear-default-host-keys-if-a-key-is-not.patch"
-
-REGISTERED_SERVICES_${PN} += "ssh:tcp:22 sftp:tcp:22"
diff --git a/common/recipes-devtools/gcc/gcc-source_6.2.bbappend b/common/recipes-devtools/gcc/gcc-source_6.3.bbappend
similarity index 65%
rename from common/recipes-devtools/gcc/gcc-source_6.2.bbappend
rename to common/recipes-devtools/gcc/gcc-source_6.3.bbappend
index b7cb542..2fadb55 100644
--- a/common/recipes-devtools/gcc/gcc-source_6.2.bbappend
+++ b/common/recipes-devtools/gcc/gcc-source_6.3.bbappend
@@ -1,2 +1,2 @@
-FILESEXTRAPATHS_append := "${THISDIR}/gcc_6.2:"
+FILESEXTRAPATHS_append := "${THISDIR}/gcc_6.3:"
 SRC_URI_append = "file://0001-Support-exception-propagation-without-lock-free-atom.patch"
diff --git a/common/recipes-devtools/gcc/gcc_6.2/0001-Support-exception-propagation-without-lock-free-atom.patch b/common/recipes-devtools/gcc/gcc_6.2/0001-Support-exception-propagation-without-lock-free-atom.patch
deleted file mode 100644
index 597be32..0000000
--- a/common/recipes-devtools/gcc/gcc_6.2/0001-Support-exception-propagation-without-lock-free-atom.patch
+++ /dev/null
@@ -1,2011 +0,0 @@
-From cf17b2b404eed4778664b69d20e1943b619bfd38 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 1/1] 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
-
-This is a backport of the upstream commit.
-
-Signed-off-by: James Feist <james.feist@linux.intel.com>
----
- libstdc++-v3/ChangeLog                             | 38 +++++++++-
- libstdc++-v3/acinclude.m4                          | 37 ++++++++++
- libstdc++-v3/config.h.in                           |  3 +
- libstdc++-v3/config/abi/pre/gnu.ver                | 10 +++
- libstdc++-v3/configure                             | 49 +++++++++++++
- libstdc++-v3/configure.ac                          |  3 +
- libstdc++-v3/include/std/future                    |  4 +-
- libstdc++-v3/libsupc++/eh_atomics.h                | 84 ++++++++++++++++++++++
- libstdc++-v3/libsupc++/eh_ptr.cc                   | 14 ++--
- libstdc++-v3/libsupc++/eh_throw.cc                 |  7 +-
- libstdc++-v3/libsupc++/eh_tm.cc                    |  5 +-
- libstdc++-v3/libsupc++/exception                   |  3 +-
- libstdc++-v3/libsupc++/exception_ptr.h             |  4 --
- libstdc++-v3/libsupc++/guard.cc                    |  1 +
- libstdc++-v3/libsupc++/nested_exception.cc         |  2 -
- libstdc++-v3/libsupc++/nested_exception.h          |  4 --
- libstdc++-v3/src/c++11/future.cc                   |  3 +-
- .../testsuite/18_support/exception_ptr/40296.cc    |  1 -
- .../18_support/exception_ptr/60612-terminate.cc    |  1 -
- .../18_support/exception_ptr/60612-unexpected.cc   |  1 -
- .../testsuite/18_support/exception_ptr/62258.cc    |  1 -
- .../testsuite/18_support/exception_ptr/64241.cc    |  1 -
- .../18_support/exception_ptr/current_exception.cc  |  1 -
- .../testsuite/18_support/exception_ptr/lifespan.cc |  1 -
- .../18_support/exception_ptr/make_exception_ptr.cc |  1 -
- .../testsuite/18_support/exception_ptr/move.cc     |  1 -
- .../18_support/exception_ptr/requirements.cc       |  1 -
- .../18_support/exception_ptr/requirements_neg.cc   |  1 -
- .../18_support/exception_ptr/rethrow_exception.cc  |  1 -
- .../testsuite/18_support/nested_exception/51438.cc |  1 -
- .../testsuite/18_support/nested_exception/62154.cc |  1 -
- .../testsuite/18_support/nested_exception/68139.cc |  1 -
- .../testsuite/18_support/nested_exception/cons.cc  |  1 -
- .../18_support/nested_exception/nested_ptr.cc      |  1 -
- .../nested_exception/rethrow_if_nested.cc          |  1 -
- .../18_support/nested_exception/rethrow_nested.cc  |  1 -
- .../nested_exception/throw_with_nested.cc          |  1 -
- libstdc++-v3/testsuite/30_threads/async/42819.cc   |  1 -
- libstdc++-v3/testsuite/30_threads/async/49668.cc   |  1 -
- libstdc++-v3/testsuite/30_threads/async/54297.cc   |  1 -
- libstdc++-v3/testsuite/30_threads/async/any.cc     |  1 -
- libstdc++-v3/testsuite/30_threads/async/async.cc   |  1 -
- libstdc++-v3/testsuite/30_threads/async/except.cc  |  1 -
- .../testsuite/30_threads/async/forced_unwind.cc    |  1 -
- libstdc++-v3/testsuite/30_threads/async/launch.cc  |  1 -
- libstdc++-v3/testsuite/30_threads/async/lwg2021.cc |  1 -
- libstdc++-v3/testsuite/30_threads/async/sync.cc    |  1 -
- .../testsuite/30_threads/future/cons/assign_neg.cc |  1 -
- .../testsuite/30_threads/future/cons/constexpr.cc  |  1 -
- .../testsuite/30_threads/future/cons/copy_neg.cc   |  1 -
- .../testsuite/30_threads/future/cons/default.cc    |  1 -
- .../testsuite/30_threads/future/cons/move.cc       |  1 -
- .../30_threads/future/cons/move_assign.cc          |  1 -
- .../testsuite/30_threads/future/members/45133.cc   |  1 -
- .../testsuite/30_threads/future/members/get.cc     |  1 -
- .../testsuite/30_threads/future/members/get2.cc    |  1 -
- .../testsuite/30_threads/future/members/share.cc   |  1 -
- .../testsuite/30_threads/future/members/valid.cc   |  1 -
- .../testsuite/30_threads/future/members/wait.cc    |  1 -
- .../30_threads/future/members/wait_for.cc          |  1 -
- .../30_threads/future/members/wait_until.cc        |  1 -
- .../future/requirements/explicit_instantiation.cc  |  1 -
- .../30_threads/headers/future/types_std_c++0x.cc   |  1 -
- .../testsuite/30_threads/packaged_task/49668.cc    |  1 -
- .../testsuite/30_threads/packaged_task/60564.cc    |  1 -
- .../testsuite/30_threads/packaged_task/cons/1.cc   |  1 -
- .../testsuite/30_threads/packaged_task/cons/2.cc   |  1 -
- .../testsuite/30_threads/packaged_task/cons/3.cc   |  1 -
- .../30_threads/packaged_task/cons/56492.cc         |  1 -
- .../30_threads/packaged_task/cons/alloc.cc         |  1 -
- .../30_threads/packaged_task/cons/alloc2.cc        |  1 -
- .../30_threads/packaged_task/cons/alloc_min.cc     |  1 -
- .../30_threads/packaged_task/cons/assign_neg.cc    |  1 -
- .../30_threads/packaged_task/cons/copy_neg.cc      |  1 -
- .../30_threads/packaged_task/cons/move.cc          |  1 -
- .../30_threads/packaged_task/cons/move_assign.cc   |  1 -
- .../30_threads/packaged_task/forced_unwind.cc      |  1 -
- .../packaged_task/members/at_thread_exit.cc        |  1 -
- .../30_threads/packaged_task/members/get_future.cc |  1 -
- .../packaged_task/members/get_future2.cc           |  1 -
- .../30_threads/packaged_task/members/invoke.cc     |  1 -
- .../30_threads/packaged_task/members/invoke2.cc    |  1 -
- .../30_threads/packaged_task/members/invoke3.cc    |  1 -
- .../30_threads/packaged_task/members/invoke4.cc    |  1 -
- .../30_threads/packaged_task/members/invoke5.cc    |  1 -
- .../30_threads/packaged_task/members/reset.cc      |  1 -
- .../30_threads/packaged_task/members/reset2.cc     |  1 -
- .../30_threads/packaged_task/members/swap.cc       |  1 -
- .../30_threads/packaged_task/members/valid.cc      |  1 -
- .../requirements/explicit_instantiation.cc         |  1 -
- .../30_threads/packaged_task/uses_allocator.cc     |  1 -
- libstdc++-v3/testsuite/30_threads/promise/60966.cc |  1 -
- libstdc++-v3/testsuite/30_threads/promise/69106.cc |  1 -
- .../testsuite/30_threads/promise/cons/1.cc         |  1 -
- .../testsuite/30_threads/promise/cons/alloc.cc     |  1 -
- .../testsuite/30_threads/promise/cons/alloc2.cc    |  1 -
- .../testsuite/30_threads/promise/cons/alloc_min.cc |  1 -
- .../30_threads/promise/cons/assign_neg.cc          |  1 -
- .../testsuite/30_threads/promise/cons/copy_neg.cc  |  1 -
- .../testsuite/30_threads/promise/cons/move.cc      |  1 -
- .../30_threads/promise/cons/move_assign.cc         |  1 -
- .../30_threads/promise/members/at_thread_exit.cc   |  1 -
- .../30_threads/promise/members/get_future.cc       |  1 -
- .../30_threads/promise/members/get_future2.cc      |  1 -
- .../30_threads/promise/members/set_exception.cc    |  1 -
- .../30_threads/promise/members/set_exception2.cc   |  1 -
- .../30_threads/promise/members/set_value.cc        |  1 -
- .../30_threads/promise/members/set_value2.cc       |  1 -
- .../30_threads/promise/members/set_value3.cc       |  1 -
- .../testsuite/30_threads/promise/members/swap.cc   |  1 -
- .../promise/requirements/explicit_instantiation.cc |  1 -
- .../testsuite/30_threads/promise/uses_allocator.cc |  1 -
- .../30_threads/shared_future/cons/assign.cc        |  1 -
- .../30_threads/shared_future/cons/constexpr.cc     |  1 -
- .../30_threads/shared_future/cons/copy.cc          |  1 -
- .../30_threads/shared_future/cons/default.cc       |  1 -
- .../30_threads/shared_future/cons/move.cc          |  1 -
- .../30_threads/shared_future/cons/move_assign.cc   |  1 -
- .../30_threads/shared_future/members/45133.cc      |  1 -
- .../30_threads/shared_future/members/get.cc        |  1 -
- .../30_threads/shared_future/members/get2.cc       |  1 -
- .../30_threads/shared_future/members/valid.cc      |  1 -
- .../30_threads/shared_future/members/wait.cc       |  1 -
- .../30_threads/shared_future/members/wait_for.cc   |  1 -
- .../30_threads/shared_future/members/wait_until.cc |  1 -
- .../requirements/explicit_instantiation.cc         |  1 -
- 126 files changed, 236 insertions(+), 144 deletions(-)
- create mode 100644 libstdc++-v3/libsupc++/eh_atomics.h
-
-diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
-index 3e8f33c..cb70bd2 100644
---- a/libstdc++-v3/ChangeLog
-+++ b/libstdc++-v3/ChangeLog
-@@ -1,4 +1,40 @@
--2016-08-22  Release Manager
-+2017-01-04  Pauli Nieminen  <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.
-+
- 
- 	* GCC 6.2.0 released.
- 
-diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
-index b0f88cb..8341769 100644
---- a/libstdc++-v3/acinclude.m4
-+++ b/libstdc++-v3/acinclude.m4
-@@ -4419,6 +4419,43 @@ AC_DEFUN([GLIBCXX_CHECK_SIZE_T_MANGLING], [
-     [Define to the letter to which size_t is mangled.])
- ])
- 
-+dnl
-+dnl Determine whether std::exception_ptr symbols should be exported with
-+dnl the symbol versions from GCC 4.6.0 or GCC 7.1.0, depending on which
-+dnl release first added support for std::exception_ptr. Originally it was
-+dnl only supported for targets with always-lock-free atomics for int, but
-+dnl since GCC 7.1 it is supported for all targets.
-+dnl
-+AC_DEFUN([GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER], [
-+  if test $enable_symvers != no; then
-+    AC_MSG_CHECKING([for first version to support std::exception_ptr])
-+    case ${target} in
-+      aarch64-*-* | alpha-*-* | hppa*-*-* | i?86-*-* | x86_64-*-* | \
-+      m68k-*-* | powerpc*-*-* | s390*-*-* | *-*-solaris* )
-+        ac_exception_ptr_since_gcc46=yes
-+        ;;
-+      *)
-+        # If the value of this macro changes then we will need to hardcode
-+        # yes/no here for additional targets based on the original value.
-+        AC_TRY_COMPILE([], [
-+          #if __GCC_ATOMIC_INT_LOCK_FREE <= 1
-+          # error atomic int not always lock free
-+          #endif
-+          ],
-+          [ac_exception_ptr_since_gcc46=yes],
-+          [ac_exception_ptr_since_gcc46=no])
-+        ;;
-+    esac
-+    if test x"$ac_exception_ptr_since_gcc46" = x"yes" ; then
-+      AC_DEFINE(HAVE_EXCEPTION_PTR_SINCE_GCC46, 1,
-+        [Define to 1 if GCC 4.6 supported std::exception_ptr for the target])
-+      AC_MSG_RESULT([4.6.0])
-+    else
-+      AC_MSG_RESULT([7.1.0])
-+    fi
-+  fi
-+])
-+
- # Macros from the top-level gcc directory.
- m4_include([../config/gc++filt.m4])
- m4_include([../config/tls.m4])
-diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in
-index 701d479..cc7dbe5 100644
---- a/libstdc++-v3/config.h.in
-+++ b/libstdc++-v3/config.h.in
-@@ -120,6 +120,9 @@
- /* Define if EWOULDBLOCK exists. */
- #undef HAVE_EWOULDBLOCK
- 
-+/* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */
-+#undef HAVE_EXCEPTION_PTR_SINCE_GCC46
-+
- /* Define to 1 if you have the <execinfo.h> header file. */
- #undef HAVE_EXECINFO_H
- 
-diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
-index 5c6b0fe..f0a5732 100644
---- a/libstdc++-v3/config/abi/pre/gnu.ver
-+++ b/libstdc++-v3/config/abi/pre/gnu.ver
-@@ -1490,6 +1490,9 @@ GLIBCXX_3.4.15 {
-     _ZNSt14error_categoryC*;
-     _ZNSt14error_categoryD*;
- 
-+#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
-+    # std::future symbols are only present in this version when
-+    # atomic operations on int are always lock-free.
-     _ZNSt13__future_base12_Result_baseC*;
-     _ZNSt13__future_base12_Result_baseD*;
-     _ZTINSt13__future_base12_Result_baseE;
-@@ -1498,6 +1501,7 @@ GLIBCXX_3.4.15 {
-     _ZNSt13__future_base11_State_baseD*;
-     _ZTINSt13__future_base11_State_baseE;
-     _ZTVNSt13__future_base11_State_baseE;
-+#endif
- 
- } GLIBCXX_3.4.14;
- 
-@@ -1674,8 +1678,10 @@ GLIBCXX_3.4.21 {
- 
-     # std::notify_all_at_thread_exit
-     _ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE;
-+#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
-     # std::__future_base::_State_baseV2::_Make_ready::_M_set()
-     _ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv;
-+#endif
- 
-     # ABI-tagged std::basic_string
-     _ZNSt7__cxx1112basic_string*;
-@@ -2040,6 +2046,7 @@ CXXABI_1.3.3 {
-     _ZTIPDi;
-     _ZTIPKDi;
- 
-+#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
-     # exception_ptr
-     _ZNSt15__exception_ptr13exception_ptrC1Ev;
-     _ZNSt15__exception_ptr13exception_ptrC2Ev;
-@@ -2059,6 +2066,7 @@ CXXABI_1.3.3 {
- 
-     _ZSt17current_exceptionv;
-     _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
-+#endif
- 
- } CXXABI_1.3.2;
- 
-@@ -2089,10 +2097,12 @@ CXXABI_1.3.5 {
-     # FNV hash.
-     _ZSt15_Fnv_hash_bytesPKv*;
- 
-+#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
-     # std::nested_exception
-     _ZNSt16nested_exceptionD*;
-     _ZTISt16nested_exception;
-     _ZTVSt16nested_exception;
-+#endif
- 
- } CXXABI_1.3.4;
- 
-diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
-index 41797a9..7830085 100755
---- a/libstdc++-v3/configure
-+++ b/libstdc++-v3/configure
-@@ -80509,6 +80509,55 @@ _ACEOF
- 
- 
- 
-+# Check which release added std::exception_ptr for the target
-+
-+  if test $enable_symvers != no; then
-+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for first version to support std::exception_ptr" >&5
-+$as_echo_n "checking for first version to support std::exception_ptr... " >&6; }
-+    case ${target} in
-+      aarch64-*-* | alpha-*-* | hppa*-*-* | i?86-*-* | x86_64-*-* | \
-+      m68k-*-* | powerpc*-*-* | s390*-*-* | *-*-solaris* )
-+        ac_exception_ptr_since_gcc46=yes
-+        ;;
-+      *)
-+        # If the value of this macro changes then we will need to hardcode
-+        # yes/no here for additional targets based on the original value.
-+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
-+
-+int
-+main ()
-+{
-+
-+          #if __GCC_ATOMIC_INT_LOCK_FREE <= 1
-+          # error atomic int not always lock free
-+          #endif
-+
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+  ac_exception_ptr_since_gcc46=yes
-+else
-+  ac_exception_ptr_since_gcc46=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+        ;;
-+    esac
-+    if test x"$ac_exception_ptr_since_gcc46" = x"yes" ; then
-+
-+$as_echo "#define HAVE_EXCEPTION_PTR_SINCE_GCC46 1" >>confdefs.h
-+
-+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: 4.6.0" >&5
-+$as_echo "4.6.0" >&6; }
-+    else
-+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: 7.1.0" >&5
-+$as_echo "7.1.0" >&6; }
-+    fi
-+  fi
-+
-+
- # Define documentation rules conditionally.
- 
- # See if makeinfo has been installed and is modern enough
-diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
-index 9e19e99..7dbb758 100644
---- a/libstdc++-v3/configure.ac
-+++ b/libstdc++-v3/configure.ac
-@@ -411,6 +411,9 @@ GLIBCXX_CHECK_FILESYSTEM_DEPS
- # For Transactional Memory TS
- GLIBCXX_CHECK_SIZE_T_MANGLING
- 
-+# Check which release added std::exception_ptr for the target
-+GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER
-+
- # Define documentation rules conditionally.
- 
- # See if makeinfo has been installed and is modern enough
-diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future
-index 80b7b06..7a16bf8 100644
---- a/libstdc++-v3/include/std/future
-+++ b/libstdc++-v3/include/std/future
-@@ -182,8 +182,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
-     future<__async_result_of<_Fn, _Args...>>
-     async(_Fn&& __fn, _Args&&... __args);
- 
--#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
--  && (ATOMIC_INT_LOCK_FREE > 1)
-+#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
- 
-   /// Base class and enclosing scope.
-   struct __future_base
-@@ -1745,7 +1744,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
- 
- #endif // _GLIBCXX_ASYNC_ABI_COMPAT
- #endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
--       // && ATOMIC_INT_LOCK_FREE
- 
-   // @} group futures
- _GLIBCXX_END_NAMESPACE_VERSION
-diff --git a/libstdc++-v3/libsupc++/eh_atomics.h b/libstdc++-v3/libsupc++/eh_atomics.h
-new file mode 100644
-index 0000000..71b42a4
---- /dev/null
-+++ b/libstdc++-v3/libsupc++/eh_atomics.h
-@@ -0,0 +1,84 @@
-+// Exception Handling support header for -*- C++ -*-
-+
-+// Copyright (C) 2016 Free Software Foundation, Inc.
-+//
-+// This file is part of GCC.
-+//
-+// GCC is free software; you can redistribute it and/or modify
-+// it under the terms of the GNU General Public License as published by
-+// the Free Software Foundation; either version 3, or (at your option)
-+// any later version.
-+//
-+// GCC is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+// GNU General Public License for more details.
-+//
-+// Under Section 7 of GPL version 3, you are granted additional
-+// permissions described in the GCC Runtime Library Exception, version
-+// 3.1, as published by the Free Software Foundation.
-+
-+// You should have received a copy of the GNU General Public License and
-+// a copy of the GCC Runtime Library Exception along with this program;
-+// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-+// <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 --git a/libstdc++-v3/libsupc++/eh_ptr.cc b/libstdc++-v3/libsupc++/eh_ptr.cc
-index 3b8e0a01..bb68656 100644
---- a/libstdc++-v3/libsupc++/eh_ptr.cc
-+++ b/libstdc++-v3/libsupc++/eh_ptr.cc
-@@ -23,9 +23,7 @@
- // <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_addref() _GLIBCXX_USE_NOEXCEPT
-     {
-       __cxa_refcounted_exception *eh =
- 	__get_refcounted_exception_header_from_obj (_M_exception_object);
--      __atomic_add_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL);
-+      __gnu_cxx::__eh_atomic_inc (&eh->referenceCount);
-     }
- }
- 
-@@ -115,7 +113,7 @@ std::__exception_ptr::exception_ptr::_M_release() _GLIBCXX_USE_NOEXCEPT
-     {
-       __cxa_refcounted_exception *eh =
- 	__get_refcounted_exception_header_from_obj (_M_exception_object);
--      if (__atomic_sub_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL) == 0)
-+      if (__gnu_cxx::__eh_atomic_dec (&eh->referenceCount))
-         {
- 	  if (eh->exc.exceptionDestructor)
- 	    eh->exc.exceptionDestructor (_M_exception_object);
-@@ -219,7 +217,7 @@ __gxx_dependent_exception_cleanup(_Unwind_Reason_Code code,
- 
-   __cxa_free_dependent_exception (dep);
- 
--  if (__atomic_sub_fetch (&header->referenceCount, 1, __ATOMIC_ACQ_REL) == 0)
-+  if (__gnu_cxx::__eh_atomic_dec (&header->referenceCount))
-     {
-       if (header->exc.exceptionDestructor)
- 	header->exc.exceptionDestructor (header + 1);
-@@ -238,7 +236,7 @@ std::rethrow_exception(std::exception_ptr ep)
- 
-   __cxa_dependent_exception *dep = __cxa_allocate_dependent_exception ();
-   dep->primaryException = obj;
--  __atomic_add_fetch (&eh->referenceCount, 1,  __ATOMIC_ACQ_REL);
-+  __gnu_cxx::__eh_atomic_inc (&eh->referenceCount);
- 
-   dep->unexpectedHandler = get_unexpected ();
-   dep->terminateHandler = get_terminate ();
-@@ -260,5 +258,3 @@ std::rethrow_exception(std::exception_ptr ep)
- }
- 
- #undef _GLIBCXX_EH_PTR_COMPAT
--
--#endif
-diff --git a/libstdc++-v3/libsupc++/eh_throw.cc b/libstdc++-v3/libsupc++/eh_throw.cc
-index 9aac218..2bd4780 100644
---- a/libstdc++-v3/libsupc++/eh_throw.cc
-+++ b/libstdc++-v3/libsupc++/eh_throw.cc
-@@ -24,6 +24,7 @@
- 
- #include <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
- }
- 
- 
-diff --git a/libstdc++-v3/libsupc++/eh_tm.cc b/libstdc++-v3/libsupc++/eh_tm.cc
-index c05f611..85ae46c 100644
---- a/libstdc++-v3/libsupc++/eh_tm.cc
-+++ b/libstdc++-v3/libsupc++/eh_tm.cc
-@@ -24,6 +24,7 @@
- 
- #include <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);
- }
- 
-diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception
-index 63631f6..22cffd6 100644
---- a/libstdc++-v3/libsupc++/exception
-+++ b/libstdc++-v3/libsupc++/exception
-@@ -35,7 +35,6 @@
- #pragma GCC visibility push(default)
- 
- #include <bits/c++config.h>
--#include <bits/atomic_lockfree_defines.h>
- 
- extern "C++" {
- 
-@@ -166,7 +165,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
- 
- #pragma GCC visibility pop
- 
--#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1)
-+#if (__cplusplus >= 201103L)
- #include <bits/exception_ptr.h>
- #include <bits/nested_exception.h>
- #endif
-diff --git a/libstdc++-v3/libsupc++/exception_ptr.h b/libstdc++-v3/libsupc++/exception_ptr.h
-index 783e539..3429b57 100644
---- a/libstdc++-v3/libsupc++/exception_ptr.h
-+++ b/libstdc++-v3/libsupc++/exception_ptr.h
-@@ -36,10 +36,6 @@
- #include <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 --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc
-index 9b61799..66edffb 100644
---- a/libstdc++-v3/libsupc++/guard.cc
-+++ b/libstdc++-v3/libsupc++/guard.cc
-@@ -30,6 +30,7 @@
- #include <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 --git a/libstdc++-v3/libsupc++/nested_exception.cc b/libstdc++-v3/libsupc++/nested_exception.cc
-index c1a7b7a..82dddb1 100644
---- a/libstdc++-v3/libsupc++/nested_exception.cc
-+++ b/libstdc++-v3/libsupc++/nested_exception.cc
-@@ -25,7 +25,5 @@
- 
- namespace std 
- {
--#if ATOMIC_INT_LOCK_FREE > 1
-   nested_exception::~nested_exception() noexcept = default;
--#endif
- } // namespace std
-diff --git a/libstdc++-v3/libsupc++/nested_exception.h b/libstdc++-v3/libsupc++/nested_exception.h
-index 377b803..b9c6baa 100644
---- a/libstdc++-v3/libsupc++/nested_exception.h
-+++ b/libstdc++-v3/libsupc++/nested_exception.h
-@@ -39,10 +39,6 @@
- #include <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
-diff --git a/libstdc++-v3/src/c++11/future.cc b/libstdc++-v3/src/c++11/future.cc
-index 7809a37..a14051a 100644
---- a/libstdc++-v3/src/c++11/future.cc
-+++ b/libstdc++-v3/src/c++11/future.cc
-@@ -78,8 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
-   const char*
-   future_error::what() const noexcept { return logic_error::what(); }
- 
--#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
--  && (ATOMIC_INT_LOCK_FREE > 1)
-+#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
-   __future_base::_Result_base::_Result_base() = default;
- 
-   __future_base::_Result_base::~_Result_base() = default;
-diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
-index 23d8fed..9e866d6 100644
---- a/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
-+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
-@@ -1,6 +1,5 @@
- // { dg-do compile }
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
-index de5ed4a..01faaa2 100644
---- a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
-+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2014-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
-index 14f6ffe..e507262 100644
---- a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
-+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2014-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
-index a714aa3..81f9ab7 100644
---- a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
-+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2015-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
-index 25002d5..f9d6fb6 100644
---- a/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
-+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
-@@ -16,7 +16,6 @@
- // <http://www.gnu.org/licenses/>.
- 
- // { dg-options "-std=gnu++11 -fno-exceptions -O0" }
--// { dg-require-atomic-builtins "" }
- 
- #include <exception>
- #include <testsuite_hooks.h>
-diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
-index 47d521b..497b63d 100644
---- a/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
-+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // 2008-05-25  Sebastian Redl  <sebastian.redl@getdesigned.at>
- 
-diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
-index bf4f4ab..25b8e41 100644
---- a/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
-+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // 2008-05-25  Sebastian Redl  <sebastian.redl@getdesigned.at>
- 
-diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
-index 0ea80b1..d0076dc 100644
---- a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
-+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
-index 762e3dc..20a0d01 100644
---- a/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
-+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
-index ec016ca..a326bdd 100644
---- a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
-+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
-index d5f7c91..8d6d274 100644
---- a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
-+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
-@@ -1,6 +1,5 @@
- // { dg-do compile }
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
-index 2afe03d..65fd6ea 100644
---- a/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
-+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // 2008-05-25  Sebastian Redl  <sebastian.redl@getdesigned.at>
- 
-diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc b/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
-index cfabf66..046db76 100644
---- a/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
-+++ b/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
-@@ -1,6 +1,5 @@
- // { dg-do compile }
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc b/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
-index 4af2b1f..a9aa587 100644
---- a/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
-+++ b/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2014-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc b/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
-index 6be7ec1..18fbc59 100644
---- a/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
-+++ b/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
-@@ -1,6 +1,5 @@
- // { dg-do compile }
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2015-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc b/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
-index 25437d9..30e2c32 100644
---- a/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
-+++ b/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc b/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
-index 9adb7ee..1382ffe 100644
---- a/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
-+++ b/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
-index d98a082..e0a49ea 100644
---- a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
-+++ b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
-index 6487efa..7fa0015 100644
---- a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
-+++ b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
-index 5579cc0..4acff59 100644
---- a/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
-+++ b/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
-@@ -1,5 +1,4 @@
- // { dg-options "-std=gnu++11" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/async/42819.cc b/libstdc++-v3/testsuite/30_threads/async/42819.cc
-index fd00759..d46c9b0 100644
---- a/libstdc++-v3/testsuite/30_threads/async/42819.cc
-+++ b/libstdc++-v3/testsuite/30_threads/async/42819.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/async/49668.cc b/libstdc++-v3/testsuite/30_threads/async/49668.cc
-index f912bdd..99de898 100644
---- a/libstdc++-v3/testsuite/30_threads/async/49668.cc
-+++ b/libstdc++-v3/testsuite/30_threads/async/49668.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/async/54297.cc b/libstdc++-v3/testsuite/30_threads/async/54297.cc
-index 2462a99..adf1d19 100644
---- a/libstdc++-v3/testsuite/30_threads/async/54297.cc
-+++ b/libstdc++-v3/testsuite/30_threads/async/54297.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- // { dg-require-sleep "" }
- 
- // Copyright (C) 2012-2016 Free Software Foundation, Inc.
-diff --git a/libstdc++-v3/testsuite/30_threads/async/any.cc b/libstdc++-v3/testsuite/30_threads/async/any.cc
-index 552b6e7..ee6a9a7 100644
---- a/libstdc++-v3/testsuite/30_threads/async/any.cc
-+++ b/libstdc++-v3/testsuite/30_threads/async/any.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/async/async.cc b/libstdc++-v3/testsuite/30_threads/async/async.cc
-index b8f2d5a..f8e24b6 100644
---- a/libstdc++-v3/testsuite/30_threads/async/async.cc
-+++ b/libstdc++-v3/testsuite/30_threads/async/async.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/async/except.cc b/libstdc++-v3/testsuite/30_threads/async/except.cc
-index fd9d628..36f9e57 100644
---- a/libstdc++-v3/testsuite/30_threads/async/except.cc
-+++ b/libstdc++-v3/testsuite/30_threads/async/except.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc b/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
-index 9e56095..5bd902a 100644
---- a/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
-+++ b/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
-@@ -2,7 +2,6 @@
- // { dg-options " -std=gnu++11 -pthread" { target *-*-linux* *-*-gnu* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2014-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/async/launch.cc b/libstdc++-v3/testsuite/30_threads/async/launch.cc
-index 3b04f88..aa789f2 100644
---- a/libstdc++-v3/testsuite/30_threads/async/launch.cc
-+++ b/libstdc++-v3/testsuite/30_threads/async/launch.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc b/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
-index ea21083..fb2ca6a 100644
---- a/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
-+++ b/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
-@@ -21,7 +21,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // LWG 2021. Further incorrect usages of result_of
- // Arguments to result_of should use decay.
-diff --git a/libstdc++-v3/testsuite/30_threads/async/sync.cc b/libstdc++-v3/testsuite/30_threads/async/sync.cc
-index b2f7588..80de8e1 100644
---- a/libstdc++-v3/testsuite/30_threads/async/sync.cc
-+++ b/libstdc++-v3/testsuite/30_threads/async/sync.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
-index 5eded61..a5e52ea 100644
---- a/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc b/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
-index ebfacee..96d8f63 100644
---- a/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11 -fno-inline -g0" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- // { dg-final { scan-assembler-not "_ZNSt6futureIvEC2Ev" } }
- // { dg-final { scan-assembler-not "_ZNSt6futureIiEC2Ev" } }
- 
-diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
-index 5146eb8..f92d157 100644
---- a/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/default.cc b/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
-index bd22ff1..c46df93 100644
---- a/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
-@@ -1,7 +1,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/move.cc b/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
-index 1f92177..157a0d3 100644
---- a/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
-index 21b9a09..c1f204a 100644
---- a/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
-@@ -1,7 +1,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/members/45133.cc b/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
-index 35fbdb7..d013bf0 100644
---- a/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/members/get.cc b/libstdc++-v3/testsuite/30_threads/future/members/get.cc
-index 984fbe3..4d84396 100644
---- a/libstdc++-v3/testsuite/30_threads/future/members/get.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/members/get.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/members/get2.cc b/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
-index e8683f8..c3cacdf 100644
---- a/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/members/share.cc b/libstdc++-v3/testsuite/30_threads/future/members/share.cc
-index 0992fc0..96662fd 100644
---- a/libstdc++-v3/testsuite/30_threads/future/members/share.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/members/share.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/members/valid.cc b/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
-index 2bb9b11..4b56fe5 100644
---- a/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
-index 7782871..1b4134e 100644
---- a/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
-index b7bd874..77f9c38 100644
---- a/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
-index 1ce7118..816411f 100644
---- a/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
-index 95ddf4d..8ab100a 100644
---- a/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
-+++ b/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc b/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
-index ccd85ab..c596685 100644
---- a/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
-+++ b/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" } 
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
-index 46ab3d5..a492de1 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
-index 6021fdb..bc828cb 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2014-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
-index 919f136..45ede56 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
-index 0611d8a..ff53be1 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
-index 11203d5..a08a85e 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
-index 0338f98..48de913 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2013-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
-index 83c5d9f..640d269 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
-index b53fd8d..ea9b147 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
-index deacad1..ca22639 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
-index dd40133..4517dc4 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
-index a4e47fd..0b7356d 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
-index cb1d8e0..99c2123 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
-index 8025dbf..ed4bec5 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
-index 13be918..2c2c85c 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
-@@ -2,7 +2,6 @@
- // { dg-options " -std=gnu++11 -pthread" { target *-*-linux* *-*-gnu* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2014-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
-index b217090..76dfee9 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2014-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
-index 5fab0de..a5aa5c2 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
-index a343772..68f4e8d 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
-index 5e4c038..8d2955e 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
-index 3a3d3a3..b003fb7 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
-index a56a895..07dd695 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
-index 080a9a8..012fea3 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
-index be90276..7dfb177 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
-index c7cb184..f08ed64 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
-index aade3db..09597e3 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
-index d61256b..975db20 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
-index 047ffeb..e11411b 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
-index 7b7e0f5..37e0676 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
-index 1c31673..733ed8b 100644
---- a/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
-+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/60966.cc b/libstdc++-v3/testsuite/30_threads/promise/60966.cc
-index 663075a..37fb84a 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/60966.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/60966.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2014-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/69106.cc b/libstdc++-v3/testsuite/30_threads/promise/69106.cc
-index 921ded1..7130a18 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/69106.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/69106.cc
-@@ -19,7 +19,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- #include <future>
- 
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
-index 1258483..873d26f 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
-index f35b2b7..ca1686c 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
-index c881fc1..a4465c8 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
-index 4c8b24b..fac06a2 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
-index 018bac3..b4f09e7 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
-index d0386e2..f359a07 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
-index c1699e4..b1f4b52 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
-index 68debd5..1845298 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc b/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
-index 1c8469a..b3f8bba 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2014-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc b/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
-index 44c9205..2ec33c7 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
-index 56c3107..fac6267 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
-index b753c24..bdc0944 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
-index d9850ca..49023cf 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
-index a50a7b8..c29788b 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
-index 9c308c5..5306644 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
-index 16f2b3d..1f170cb 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc b/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
-index 834ce97..4a467d0 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
-index 1f7fb88..e30a63f 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc b/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
-index e9ded97..0aef18e 100644
---- a/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
-+++ b/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2011-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
-index d0dd9ca..d27fc95 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
-@@ -1,7 +1,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
-index f82e280..8cf6e38 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11 -fno-inline -g0" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- // { dg-final { scan-assembler-not "_ZNSt13shared_futureIvEC2Ev" } }
- // { dg-final { scan-assembler-not "_ZNSt13shared_futureIiEC2Ev" } }
- 
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
-index 61985d8..1448d6c 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
-index d4a8b67..51d22e8 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
-@@ -1,7 +1,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
-index 2017f48..ecb9dc4 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
-index 05852d0..adb9ccd3 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
-@@ -1,7 +1,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
-index e9f1566..3e125c6 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
-index cfbb83a..dfd60ef 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
-index 1d5a807..7db5d4d 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
-index 25cd342..80d43b4 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2010-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
-index d4aef51..46bc01e 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
-index 929ba87..15bfd1b 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
-index 52d045d..eebacdd 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
-@@ -4,7 +4,6 @@
- // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
-diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
-index 767131e..69b6a5c 100644
---- a/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
-+++ b/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
-@@ -2,7 +2,6 @@
- // { dg-options "-std=gnu++11" }
- // { dg-require-cstdint "" }
- // { dg-require-gthreads "" }
--// { dg-require-atomic-builtins "" }
- 
- // Copyright (C) 2009-2016 Free Software Foundation, Inc.
- //
--- 
-2.7.4
-
diff --git a/common/recipes-devtools/gcc/gcc_6.3/0001-Support-exception-propagation-without-lock-free-atom.patch b/common/recipes-devtools/gcc/gcc_6.3/0001-Support-exception-propagation-without-lock-free-atom.patch
new file mode 100644
index 0000000..5ace034
--- /dev/null
+++ b/common/recipes-devtools/gcc/gcc_6.3/0001-Support-exception-propagation-without-lock-free-atom.patch
@@ -0,0 +1,2010 @@
+From cf17b2b404eed4778664b69d20e1943b619bfd38 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 1/1] 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
+
+This is a backport of the upstream commit.
+
+Signed-off-by: James Feist <james.feist@linux.intel.com>
+---
+ libstdc++-v3/ChangeLog                             | 38 +++++++++-
+ libstdc++-v3/acinclude.m4                          | 37 ++++++++++
+ libstdc++-v3/config.h.in                           |  3 +
+ libstdc++-v3/config/abi/pre/gnu.ver                | 10 +++
+ libstdc++-v3/configure                             | 49 +++++++++++++
+ libstdc++-v3/configure.ac                          |  3 +
+ libstdc++-v3/include/std/future                    |  4 +-
+ libstdc++-v3/libsupc++/eh_atomics.h                | 84 ++++++++++++++++++++++
+ libstdc++-v3/libsupc++/eh_ptr.cc                   | 14 ++--
+ libstdc++-v3/libsupc++/eh_throw.cc                 |  7 +-
+ libstdc++-v3/libsupc++/eh_tm.cc                    |  5 +-
+ libstdc++-v3/libsupc++/exception                   |  3 +-
+ libstdc++-v3/libsupc++/exception_ptr.h             |  4 --
+ libstdc++-v3/libsupc++/guard.cc                    |  1 +
+ libstdc++-v3/libsupc++/nested_exception.cc         |  2 -
+ libstdc++-v3/libsupc++/nested_exception.h          |  4 --
+ libstdc++-v3/src/c++11/future.cc                   |  3 +-
+ .../testsuite/18_support/exception_ptr/40296.cc    |  1 -
+ .../18_support/exception_ptr/60612-terminate.cc    |  1 -
+ .../18_support/exception_ptr/60612-unexpected.cc   |  1 -
+ .../testsuite/18_support/exception_ptr/62258.cc    |  1 -
+ .../testsuite/18_support/exception_ptr/64241.cc    |  1 -
+ .../18_support/exception_ptr/current_exception.cc  |  1 -
+ .../testsuite/18_support/exception_ptr/lifespan.cc |  1 -
+ .../18_support/exception_ptr/make_exception_ptr.cc |  1 -
+ .../testsuite/18_support/exception_ptr/move.cc     |  1 -
+ .../18_support/exception_ptr/requirements.cc       |  1 -
+ .../18_support/exception_ptr/requirements_neg.cc   |  1 -
+ .../18_support/exception_ptr/rethrow_exception.cc  |  1 -
+ .../testsuite/18_support/nested_exception/51438.cc |  1 -
+ .../testsuite/18_support/nested_exception/62154.cc |  1 -
+ .../testsuite/18_support/nested_exception/68139.cc |  1 -
+ .../testsuite/18_support/nested_exception/cons.cc  |  1 -
+ .../18_support/nested_exception/nested_ptr.cc      |  1 -
+ .../nested_exception/rethrow_if_nested.cc          |  1 -
+ .../18_support/nested_exception/rethrow_nested.cc  |  1 -
+ .../nested_exception/throw_with_nested.cc          |  1 -
+ libstdc++-v3/testsuite/30_threads/async/42819.cc   |  1 -
+ libstdc++-v3/testsuite/30_threads/async/49668.cc   |  1 -
+ libstdc++-v3/testsuite/30_threads/async/54297.cc   |  1 -
+ libstdc++-v3/testsuite/30_threads/async/any.cc     |  1 -
+ libstdc++-v3/testsuite/30_threads/async/async.cc   |  1 -
+ libstdc++-v3/testsuite/30_threads/async/except.cc  |  1 -
+ .../testsuite/30_threads/async/forced_unwind.cc    |  1 -
+ libstdc++-v3/testsuite/30_threads/async/launch.cc  |  1 -
+ libstdc++-v3/testsuite/30_threads/async/lwg2021.cc |  1 -
+ libstdc++-v3/testsuite/30_threads/async/sync.cc    |  1 -
+ .../testsuite/30_threads/future/cons/assign_neg.cc |  1 -
+ .../testsuite/30_threads/future/cons/constexpr.cc  |  1 -
+ .../testsuite/30_threads/future/cons/copy_neg.cc   |  1 -
+ .../testsuite/30_threads/future/cons/default.cc    |  1 -
+ .../testsuite/30_threads/future/cons/move.cc       |  1 -
+ .../30_threads/future/cons/move_assign.cc          |  1 -
+ .../testsuite/30_threads/future/members/45133.cc   |  1 -
+ .../testsuite/30_threads/future/members/get.cc     |  1 -
+ .../testsuite/30_threads/future/members/get2.cc    |  1 -
+ .../testsuite/30_threads/future/members/share.cc   |  1 -
+ .../testsuite/30_threads/future/members/valid.cc   |  1 -
+ .../testsuite/30_threads/future/members/wait.cc    |  1 -
+ .../30_threads/future/members/wait_for.cc          |  1 -
+ .../30_threads/future/members/wait_until.cc        |  1 -
+ .../future/requirements/explicit_instantiation.cc  |  1 -
+ .../30_threads/headers/future/types_std_c++0x.cc   |  1 -
+ .../testsuite/30_threads/packaged_task/49668.cc    |  1 -
+ .../testsuite/30_threads/packaged_task/60564.cc    |  1 -
+ .../testsuite/30_threads/packaged_task/cons/1.cc   |  1 -
+ .../testsuite/30_threads/packaged_task/cons/2.cc   |  1 -
+ .../testsuite/30_threads/packaged_task/cons/3.cc   |  1 -
+ .../30_threads/packaged_task/cons/56492.cc         |  1 -
+ .../30_threads/packaged_task/cons/alloc.cc         |  1 -
+ .../30_threads/packaged_task/cons/alloc2.cc        |  1 -
+ .../30_threads/packaged_task/cons/alloc_min.cc     |  1 -
+ .../30_threads/packaged_task/cons/assign_neg.cc    |  1 -
+ .../30_threads/packaged_task/cons/copy_neg.cc      |  1 -
+ .../30_threads/packaged_task/cons/move.cc          |  1 -
+ .../30_threads/packaged_task/cons/move_assign.cc   |  1 -
+ .../30_threads/packaged_task/forced_unwind.cc      |  1 -
+ .../packaged_task/members/at_thread_exit.cc        |  1 -
+ .../30_threads/packaged_task/members/get_future.cc |  1 -
+ .../packaged_task/members/get_future2.cc           |  1 -
+ .../30_threads/packaged_task/members/invoke.cc     |  1 -
+ .../30_threads/packaged_task/members/invoke2.cc    |  1 -
+ .../30_threads/packaged_task/members/invoke3.cc    |  1 -
+ .../30_threads/packaged_task/members/invoke4.cc    |  1 -
+ .../30_threads/packaged_task/members/invoke5.cc    |  1 -
+ .../30_threads/packaged_task/members/reset.cc      |  1 -
+ .../30_threads/packaged_task/members/reset2.cc     |  1 -
+ .../30_threads/packaged_task/members/swap.cc       |  1 -
+ .../30_threads/packaged_task/members/valid.cc      |  1 -
+ .../requirements/explicit_instantiation.cc         |  1 -
+ .../30_threads/packaged_task/uses_allocator.cc     |  1 -
+ libstdc++-v3/testsuite/30_threads/promise/60966.cc |  1 -
+ libstdc++-v3/testsuite/30_threads/promise/69106.cc |  1 -
+ .../testsuite/30_threads/promise/cons/1.cc         |  1 -
+ .../testsuite/30_threads/promise/cons/alloc.cc     |  1 -
+ .../testsuite/30_threads/promise/cons/alloc2.cc    |  1 -
+ .../testsuite/30_threads/promise/cons/alloc_min.cc |  1 -
+ .../30_threads/promise/cons/assign_neg.cc          |  1 -
+ .../testsuite/30_threads/promise/cons/copy_neg.cc  |  1 -
+ .../testsuite/30_threads/promise/cons/move.cc      |  1 -
+ .../30_threads/promise/cons/move_assign.cc         |  1 -
+ .../30_threads/promise/members/at_thread_exit.cc   |  1 -
+ .../30_threads/promise/members/get_future.cc       |  1 -
+ .../30_threads/promise/members/get_future2.cc      |  1 -
+ .../30_threads/promise/members/set_exception.cc    |  1 -
+ .../30_threads/promise/members/set_exception2.cc   |  1 -
+ .../30_threads/promise/members/set_value.cc        |  1 -
+ .../30_threads/promise/members/set_value2.cc       |  1 -
+ .../30_threads/promise/members/set_value3.cc       |  1 -
+ .../testsuite/30_threads/promise/members/swap.cc   |  1 -
+ .../promise/requirements/explicit_instantiation.cc |  1 -
+ .../testsuite/30_threads/promise/uses_allocator.cc |  1 -
+ .../30_threads/shared_future/cons/assign.cc        |  1 -
+ .../30_threads/shared_future/cons/constexpr.cc     |  1 -
+ .../30_threads/shared_future/cons/copy.cc          |  1 -
+ .../30_threads/shared_future/cons/default.cc       |  1 -
+ .../30_threads/shared_future/cons/move.cc          |  1 -
+ .../30_threads/shared_future/cons/move_assign.cc   |  1 -
+ .../30_threads/shared_future/members/45133.cc      |  1 -
+ .../30_threads/shared_future/members/get.cc        |  1 -
+ .../30_threads/shared_future/members/get2.cc       |  1 -
+ .../30_threads/shared_future/members/valid.cc      |  1 -
+ .../30_threads/shared_future/members/wait.cc       |  1 -
+ .../30_threads/shared_future/members/wait_for.cc   |  1 -
+ .../30_threads/shared_future/members/wait_until.cc |  1 -
+ .../requirements/explicit_instantiation.cc         |  1 -
+ 126 files changed, 236 insertions(+), 144 deletions(-)
+ create mode 100644 libstdc++-v3/libsupc++/eh_atomics.h
+
+
+Index: gcc-6.3.0/libstdc++-v3/acinclude.m4
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/acinclude.m4
++++ gcc-6.3.0/libstdc++-v3/acinclude.m4
+@@ -4517,6 +4517,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: gcc-6.3.0/libstdc++-v3/config.h.in
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/config.h.in
++++ gcc-6.3.0/libstdc++-v3/config.h.in
+@@ -120,6 +120,9 @@
+ /* Define if EWOULDBLOCK exists. */
+ #undef HAVE_EWOULDBLOCK
+ 
++/* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */
++#undef HAVE_EXCEPTION_PTR_SINCE_GCC46
++
+ /* Define to 1 if you have the <execinfo.h> header file. */
+ #undef HAVE_EXECINFO_H
+ 
+Index: gcc-6.3.0/libstdc++-v3/config/abi/pre/gnu.ver
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/config/abi/pre/gnu.ver
++++ gcc-6.3.0/libstdc++-v3/config/abi/pre/gnu.ver
+@@ -1490,6 +1490,9 @@ GLIBCXX_3.4.15 {
+     _ZNSt14error_categoryC*;
+     _ZNSt14error_categoryD*;
+ 
++#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
++    # std::future symbols are only present in this version when
++    # atomic operations on int are always lock-free.
+     _ZNSt13__future_base12_Result_baseC*;
+     _ZNSt13__future_base12_Result_baseD*;
+     _ZTINSt13__future_base12_Result_baseE;
+@@ -1498,6 +1501,7 @@ GLIBCXX_3.4.15 {
+     _ZNSt13__future_base11_State_baseD*;
+     _ZTINSt13__future_base11_State_baseE;
+     _ZTVNSt13__future_base11_State_baseE;
++#endif
+ 
+ } GLIBCXX_3.4.14;
+ 
+@@ -1674,8 +1678,10 @@ GLIBCXX_3.4.21 {
+ 
+     # std::notify_all_at_thread_exit
+     _ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE;
++#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
+     # std::__future_base::_State_baseV2::_Make_ready::_M_set()
+     _ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv;
++#endif
+ 
+     # ABI-tagged std::basic_string
+     _ZNSt7__cxx1112basic_string*;
+@@ -2040,6 +2046,7 @@ CXXABI_1.3.3 {
+     _ZTIPDi;
+     _ZTIPKDi;
+ 
++#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
+     # exception_ptr
+     _ZNSt15__exception_ptr13exception_ptrC1Ev;
+     _ZNSt15__exception_ptr13exception_ptrC2Ev;
+@@ -2059,6 +2066,7 @@ CXXABI_1.3.3 {
+ 
+     _ZSt17current_exceptionv;
+     _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
++#endif
+ 
+ } CXXABI_1.3.2;
+ 
+@@ -2089,10 +2097,12 @@ CXXABI_1.3.5 {
+     # FNV hash.
+     _ZSt15_Fnv_hash_bytesPKv*;
+ 
++#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
+     # std::nested_exception
+     _ZNSt16nested_exceptionD*;
+     _ZTISt16nested_exception;
+     _ZTVSt16nested_exception;
++#endif
+ 
+ } CXXABI_1.3.4;
+ 
+Index: gcc-6.3.0/libstdc++-v3/configure
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/configure
++++ gcc-6.3.0/libstdc++-v3/configure
+@@ -80655,6 +80655,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: gcc-6.3.0/libstdc++-v3/configure.ac
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/configure.ac
++++ gcc-6.3.0/libstdc++-v3/configure.ac
+@@ -411,6 +411,9 @@ GLIBCXX_CHECK_FILESYSTEM_DEPS
+ # For Transactional Memory TS
+ GLIBCXX_CHECK_SIZE_T_MANGLING
+ 
++# Check which release added std::exception_ptr for the target
++GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER
++
+ # Define documentation rules conditionally.
+ 
+ # See if makeinfo has been installed and is modern enough
+Index: gcc-6.3.0/libstdc++-v3/include/std/future
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/include/std/future
++++ gcc-6.3.0/libstdc++-v3/include/std/future
+@@ -182,8 +182,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+     future<__async_result_of<_Fn, _Args...>>
+     async(_Fn&& __fn, _Args&&... __args);
+ 
+-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
+-  && (ATOMIC_INT_LOCK_FREE > 1)
++#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+ 
+   /// Base class and enclosing scope.
+   struct __future_base
+@@ -1745,7 +1744,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ 
+ #endif // _GLIBCXX_ASYNC_ABI_COMPAT
+ #endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
+-       // && ATOMIC_INT_LOCK_FREE
+ 
+   // @} group futures
+ _GLIBCXX_END_NAMESPACE_VERSION
+Index: gcc-6.3.0/libstdc++-v3/libsupc++/eh_atomics.h
+===================================================================
+--- /dev/null
++++ gcc-6.3.0/libstdc++-v3/libsupc++/eh_atomics.h
+@@ -0,0 +1,84 @@
++// Exception Handling support header for -*- C++ -*-
++
++// Copyright (C) 2016 Free Software Foundation, Inc.
++//
++// This file is part of GCC.
++//
++// GCC is free software; you can redistribute it and/or modify
++// it under the terms of the GNU General Public License as published by
++// the Free Software Foundation; either version 3, or (at your option)
++// any later version.
++//
++// GCC is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++//
++// Under Section 7 of GPL version 3, you are granted additional
++// permissions described in the GCC Runtime Library Exception, version
++// 3.1, as published by the Free Software Foundation.
++
++// You should have received a copy of the GNU General Public License and
++// a copy of the GCC Runtime Library Exception along with this program;
++// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
++// <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: gcc-6.3.0/libstdc++-v3/libsupc++/eh_ptr.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/libsupc++/eh_ptr.cc
++++ gcc-6.3.0/libstdc++-v3/libsupc++/eh_ptr.cc
+@@ -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
+Index: gcc-6.3.0/libstdc++-v3/libsupc++/eh_throw.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/libsupc++/eh_throw.cc
++++ gcc-6.3.0/libstdc++-v3/libsupc++/eh_throw.cc
+@@ -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
+ }
+ 
+ 
+Index: gcc-6.3.0/libstdc++-v3/libsupc++/eh_tm.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/libsupc++/eh_tm.cc
++++ gcc-6.3.0/libstdc++-v3/libsupc++/eh_tm.cc
+@@ -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);
+ }
+ 
+Index: gcc-6.3.0/libstdc++-v3/libsupc++/exception
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/libsupc++/exception
++++ gcc-6.3.0/libstdc++-v3/libsupc++/exception
+@@ -35,7 +35,6 @@
+ #pragma GCC visibility push(default)
+ 
+ #include <bits/c++config.h>
+-#include <bits/atomic_lockfree_defines.h>
+ 
+ extern "C++" {
+ 
+@@ -166,7 +165,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
+ 
+ #pragma GCC visibility pop
+ 
+-#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1)
++#if (__cplusplus >= 201103L)
+ #include <bits/exception_ptr.h>
+ #include <bits/nested_exception.h>
+ #endif
+Index: gcc-6.3.0/libstdc++-v3/libsupc++/exception_ptr.h
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/libsupc++/exception_ptr.h
++++ gcc-6.3.0/libstdc++-v3/libsupc++/exception_ptr.h
+@@ -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 
+Index: gcc-6.3.0/libstdc++-v3/libsupc++/guard.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/libsupc++/guard.cc
++++ gcc-6.3.0/libstdc++-v3/libsupc++/guard.cc
+@@ -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: gcc-6.3.0/libstdc++-v3/libsupc++/nested_exception.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/libsupc++/nested_exception.cc
++++ gcc-6.3.0/libstdc++-v3/libsupc++/nested_exception.cc
+@@ -25,7 +25,5 @@
+ 
+ namespace std 
+ {
+-#if ATOMIC_INT_LOCK_FREE > 1
+   nested_exception::~nested_exception() noexcept = default;
+-#endif
+ } // namespace std
+Index: gcc-6.3.0/libstdc++-v3/libsupc++/nested_exception.h
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/libsupc++/nested_exception.h
++++ gcc-6.3.0/libstdc++-v3/libsupc++/nested_exception.h
+@@ -39,10 +39,6 @@
+ #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: gcc-6.3.0/libstdc++-v3/src/c++11/future.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/src/c++11/future.cc
++++ gcc-6.3.0/libstdc++-v3/src/c++11/future.cc
+@@ -78,8 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+   const char*
+   future_error::what() const noexcept { return logic_error::what(); }
+ 
+-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
+-  && (ATOMIC_INT_LOCK_FREE > 1)
++#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+   __future_base::_Result_base::_Result_base() = default;
+ 
+   __future_base::_Result_base::~_Result_base() = default;
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
+@@ -1,6 +1,5 @@
+ // { dg-do compile }
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2015-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
+@@ -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>
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // 2008-05-25  Sebastian Redl  <sebastian.redl@getdesigned.at>
+ 
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // 2008-05-25  Sebastian Redl  <sebastian.redl@getdesigned.at>
+ 
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
+@@ -1,6 +1,5 @@
+ // { dg-do compile }
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // 2008-05-25  Sebastian Redl  <sebastian.redl@getdesigned.at>
+ 
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
+@@ -1,6 +1,5 @@
+ // { dg-do compile }
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
+@@ -1,6 +1,5 @@
+ // { dg-do compile }
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2015-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++11" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/42819.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/async/42819.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/42819.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/49668.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/async/49668.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/49668.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/54297.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/async/54297.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/54297.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ // { dg-require-sleep "" }
+ 
+ // Copyright (C) 2012-2016 Free Software Foundation, Inc.
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/any.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/async/any.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/any.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/async.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/async/async.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/async.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/except.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/async/except.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/except.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
+@@ -2,7 +2,6 @@
+ // { dg-options " -std=gnu++11 -pthread" { target *-*-linux* *-*-gnu* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/launch.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/async/launch.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/launch.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
+@@ -21,7 +21,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // LWG 2021. Further incorrect usages of result_of
+ // Arguments to result_of should use decay.
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/sync.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/async/sync.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/async/sync.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11 -fno-inline -g0" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ // { dg-final { scan-assembler-not "_ZNSt6futureIvEC2Ev" } }
+ // { dg-final { scan-assembler-not "_ZNSt6futureIiEC2Ev" } }
+ 
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
+@@ -1,7 +1,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
+@@ -1,7 +1,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/get.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/members/get.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/get.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/share.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/members/share.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/share.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" } 
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2013-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
+@@ -2,7 +2,6 @@
+ // { dg-options " -std=gnu++11 -pthread" { target *-*-linux* *-*-gnu* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/60966.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/60966.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/60966.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/69106.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/69106.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/69106.cc
+@@ -19,7 +19,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ #include <future>
+ 
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2014-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
+@@ -1,7 +1,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11 -fno-inline -g0" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ // { dg-final { scan-assembler-not "_ZNSt13shared_futureIvEC2Ev" } }
+ // { dg-final { scan-assembler-not "_ZNSt13shared_futureIiEC2Ev" } }
+ 
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
+@@ -1,7 +1,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
+@@ -1,7 +1,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
++++ gcc-6.3.0/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++11" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ //
+Index: gcc-6.3.0/libstdc++-v3/ChangeLog
+===================================================================
+--- gcc-6.3.0.orig/libstdc++-v3/ChangeLog
++++ gcc-6.3.0/libstdc++-v3/ChangeLog
+@@ -2,6 +2,43 @@
+ 
+ 	* GCC 6.3.0 released.
+ 
++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.
++
+ 2016-12-12  Jonathan Wakely  <jwakely@redhat.com>
+ 
+ 	Backport from mainline
diff --git a/common/recipes-devtools/nodejs/nodejs_4.6.1.bbappend b/common/recipes-devtools/nodejs/nodejs_4.8.2.bbappend
similarity index 100%
rename from common/recipes-devtools/nodejs/nodejs_4.6.1.bbappend
rename to common/recipes-devtools/nodejs/nodejs_4.8.2.bbappend
diff --git a/common/recipes-devtools/python/python/issue_27934_use-float-repr.patch b/common/recipes-devtools/python/python/issue_27934_use-float-repr.patch
deleted file mode 100644
index 0f8bb33..0000000
--- a/common/recipes-devtools/python/python/issue_27934_use-float-repr.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-# HG changeset patch
-# User Mark Dickinson <dickinsm@gmail.com>
-# Date 1472921100 -3600
-# Node ID 86d66a627b774d741d9a8834f16706ba3de61953
-# Parent  e065aec0e6fa04000e3e57da45139e11df0c675f
-Issue #27934: Use float.__repr__ instead of plain repr when JSON-encoding an instance of a float subclass. Thanks Eddie James.
-
-diff --git a/Lib/json/encoder.py b/Lib/json/encoder.py
---- a/Lib/json/encoder.py
-+++ b/Lib/json/encoder.py
-@@ -28,7 +28,7 @@ for i in range(0x20):
-     #ESCAPE_DCT.setdefault(chr(i), '\\u%04x' % (i,))
- 
- INFINITY = float('inf')
--FLOAT_REPR = repr
-+FLOAT_REPR = float.__repr__
- 
- def encode_basestring(s):
-     """Return a JSON representation of a Python string
-diff --git a/Lib/json/tests/test_float.py b/Lib/json/tests/test_float.py
---- a/Lib/json/tests/test_float.py
-+++ b/Lib/json/tests/test_float.py
-@@ -32,6 +32,17 @@ class TestFloat(object):
-                 self.assertNotEqual(res[0], res[0])
-             self.assertRaises(ValueError, self.dumps, [val], allow_nan=False)
- 
-+    def test_float_subclasses_use_float_repr(self):
-+        # Issue 27934.
-+        class PeculiarFloat(float):
-+            def __repr__(self):
-+                return "I'm not valid JSON"
-+            def __str__(self):
-+                return "Neither am I"
-+
-+        val = PeculiarFloat(3.2)
-+        self.assertEqual(self.loads(self.dumps(val)), val)
-+
- 
- class TestPyFloat(TestFloat, PyTest): pass
- class TestCFloat(TestFloat, CTest): pass
-diff --git a/Misc/ACKS b/Misc/ACKS
---- a/Misc/ACKS
-+++ b/Misc/ACKS
-@@ -636,6 +636,7 @@ Manuel Jacob
- David Jacobs
- Kevin Jacobs
- Kjetil Jacobsen
-+Eddie James
- Bertrand Janin
- Geert Jansen
- Jack Jansen
-diff --git a/Modules/_json.c b/Modules/_json.c
---- a/Modules/_json.c
-+++ b/Modules/_json.c
-@@ -1960,8 +1960,8 @@ encoder_encode_float(PyEncoderObject *s,
-             return PyString_FromString("NaN");
-         }
-     }
--    /* Use a better float format here? */
--    return PyObject_Repr(obj);
-+    /* Make sure to use the base float class repr method */
-+    return PyFloat_Type.tp_repr(obj);
- }
- 
- static PyObject *
-
diff --git a/common/recipes-devtools/python/python_2.%.bbappend b/common/recipes-devtools/python/python_2.%.bbappend
index f5c58e3..569e753 100644
--- a/common/recipes-devtools/python/python_2.%.bbappend
+++ b/common/recipes-devtools/python/python_2.%.bbappend
@@ -1,6 +1,5 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 SRC_URI += "file://__init__.email_min.py"
-SRC_URI += "file://issue_27934_use-float-repr.patch"
 
 do_install_append_class-target() {
 	dir=${libdir}/python${PYTHON_MAJMIN}/email
diff --git a/common/recipes-phosphor/mboxd/mboxd.bb b/common/recipes-phosphor/mboxd/mboxd.bb
index f90ab86..0a30b7b 100644
--- a/common/recipes-phosphor/mboxd/mboxd.bb
+++ b/common/recipes-phosphor/mboxd/mboxd.bb
@@ -8,6 +8,11 @@
 inherit obmc-phosphor-systemd
 
 DEPENDS += "autoconf-archive-native"
+
+# Drop gnome-common-native if AX_CODE_COVERAGE ever comes back to
+# autoconf-archive upstream.
+DEPENDS += "gnome-common-native"
+
 DEPENDS += "systemd"
 DEPENDS += "phosphor-logging"
 RDEPENDS_${PN} += "libsystemd"