[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

GCC backport for atomic operations on armel



Hi,

Currently llvm-toolchain-4.0 fails to build on armel [1] because std::future is
broken there, see [2]. To fix this, I have backported the upstream patch to not
require lock-free atomic ops (armel doesn't have them). This makes llvm build
fine, which should in turn allow rustc/cargo/firefox/thunderbird to build. My
biggest question is how to handle the symbol vers. I have added them to the
latest version that this gcc-4.9 has (GLIBCXX_3.4.19, CXXABI_1.3.7) whereas the
upstream fix (and I suppose the libstdc++ in stretch) have them in a newer
version. I am not sure if having the symbols with a newer version when upgrading
would be problematic, so I wonder if the patch as is would be fine, or if I
should stick to the version that stretch has (which would mean adding new tags
as jessie's GCC doesn't have those versions). Any thoughts?

Thanks,
Emilio

[1]
https://buildd.debian.org/status/package.php?p=llvm-toolchain-4.0&suite=jessie-security
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727621
diff -u gcc-4.9-4.9.2/debian/changelog gcc-4.9-4.9.2/debian/changelog
--- gcc-4.9-4.9.2/debian/changelog
+++ gcc-4.9-4.9.2/debian/changelog
@@ -1,3 +1,9 @@
+gcc-4.9 (4.9.2-10+deb8u2) jessie-security; urgency=medium
+
+  * Fix std::future on armel.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org>  Fri, 16 Nov 2018 20:29:12 +0100
+
 gcc-4.9 (4.9.2-10+deb8u1) jessie-security; urgency=medium
 
   * Backport of retpoline support by HJ Lu
diff -u gcc-4.9-4.9.2/debian/rules.patch gcc-4.9-4.9.2/debian/rules.patch
--- gcc-4.9-4.9.2/debian/rules.patch
+++ gcc-4.9-4.9.2/debian/rules.patch
@@ -193,6 +193,10 @@
   endif
 endif
 
+ifeq ($(DEB_TARGET_ARCH),armel)
+  debian_patches += atomic
+endif
+
 ifneq (,$(findstring $(DEB_TARGET_ARCH),arm armel armhf))
   debian_patches += libjava-armel-unwind
 endif
only in patch2:
unchanged:
--- gcc-4.9-4.9.2.orig/debian/patches/atomic.diff
+++ gcc-4.9-4.9.2/debian/patches/atomic.diff
@@ -0,0 +1,1792 @@
+From c45be7f1aef92f2ea7363cbc4627f943b83ca902 Mon Sep 17 00:00:00 2001
+From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Wed, 4 Jan 2017 10:54:59 +0000
+Subject: [PATCH] Support exception propagation without lock-free atomic int
+
+2017-01-04  Pauli Nieminen  <suokkos@gmail.com>
+	    Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/64735
+	* acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
+	* config.h.in: Regenerate.
+	* config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
+	(GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
+	exports for exception_ptr, nested_exception, and future conditional.
+	[HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
+	exports for exception_ptr, nested_exception, and future conditional.
+	* configure: Regenerate.
+	* configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
+	* include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
+	* libsupc++/eh_atomics.h: New file for internal use only.
+	(__eh_atomic_inc, __eh_atomic_dec): New.
+	* libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
+	(exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
+	(rethrow_exception): Use eh_atomics.h reference counting helpers.
+	* libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
+	* libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
+	* libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
+	* libsupc++/exception_ptr.h: Likewise.
+	* libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
+	* libsupc++/nested_exception.cc: Remove check for
+	ATOMIC_INT_LOCK_FREE.
+	* libsupc++/nested_exception.h: Likewise.
+	* src/c++11/future.cc: Likewise.
+	* testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
+	* testsuite/18_support/nested_exception/*: Likewise.
+	* testsuite/30_threads/async/*: Likewise.
+	* testsuite/30_threads/future/*: Likewise.
+	* testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
+	* testsuite/30_threads/packaged_task/*: Likewise.
+	* testsuite/30_threads/promise/*: Likewise.
+	* testsuite/30_threads/shared_future/*: Likewise.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244051 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ libstdc++-v3/ChangeLog                        | 37 ++++++++
+ libstdc++-v3/acinclude.m4                     | 37 ++++++++
+ libstdc++-v3/config.h.in                      |  3 +
+ libstdc++-v3/config/abi/pre/gnu.ver           | 47 +++++++++++
+ libstdc++-v3/configure                        | 49 +++++++++++
+ libstdc++-v3/configure.ac                     |  3 +
+ libstdc++-v3/include/std/future               |  4 +-
+ libstdc++-v3/libsupc++/eh_atomics.h           | 84 +++++++++++++++++++
+ libstdc++-v3/libsupc++/eh_ptr.cc              | 14 ++--
+ libstdc++-v3/libsupc++/eh_throw.cc            |  7 +-
+ libstdc++-v3/libsupc++/eh_tm.cc               |  5 +-
+ libstdc++-v3/libsupc++/exception              |  3 +-
+ libstdc++-v3/libsupc++/exception_ptr.h        |  4 -
+ libstdc++-v3/libsupc++/guard.cc               |  1 +
+ libstdc++-v3/libsupc++/nested_exception.cc    |  2 -
+ libstdc++-v3/libsupc++/nested_exception.h     |  4 -
+ libstdc++-v3/src/c++11/future.cc              |  3 +-
+ .../18_support/exception_ptr/40296.cc         |  1 -
+ .../exception_ptr/60612-terminate.cc          |  1 -
+ .../exception_ptr/60612-unexpected.cc         |  1 -
+ .../18_support/exception_ptr/62258.cc         |  1 -
+ .../18_support/exception_ptr/64241.cc         |  1 -
+ .../exception_ptr/current_exception.cc        |  1 -
+ .../18_support/exception_ptr/lifespan.cc      |  1 -
+ .../exception_ptr/make_exception_ptr.cc       |  1 -
+ .../exception_ptr/make_exception_ptr_2.cc     |  1 -
+ .../18_support/exception_ptr/move.cc          |  1 -
+ .../18_support/exception_ptr/requirements.cc  |  1 -
+ .../exception_ptr/requirements_neg.cc         |  1 -
+ .../exception_ptr/rethrow_exception.cc        |  1 -
+ .../18_support/nested_exception/51438.cc      |  1 -
+ .../18_support/nested_exception/62154.cc      |  1 -
+ .../18_support/nested_exception/68139.cc      |  1 -
+ .../18_support/nested_exception/cons.cc       |  1 -
+ .../18_support/nested_exception/nested_ptr.cc |  1 -
+ .../nested_exception/rethrow_if_nested.cc     |  1 -
+ .../nested_exception/rethrow_nested.cc        |  1 -
+ .../nested_exception/throw_with_nested.cc     |  1 -
+ .../testsuite/30_threads/async/42819.cc       |  1 -
+ .../testsuite/30_threads/async/49668.cc       |  1 -
+ .../testsuite/30_threads/async/54297.cc       |  1 -
+ .../testsuite/30_threads/async/any.cc         |  1 -
+ .../testsuite/30_threads/async/async.cc       |  1 -
+ .../testsuite/30_threads/async/except.cc      |  1 -
+ .../30_threads/async/forced_unwind.cc         |  1 -
+ .../testsuite/30_threads/async/launch.cc      |  1 -
+ .../testsuite/30_threads/async/lwg2021.cc     |  1 -
+ .../testsuite/30_threads/async/sync.cc        |  1 -
+ .../30_threads/future/cons/assign_neg.cc      |  1 -
+ .../30_threads/future/cons/constexpr.cc       |  1 -
+ .../30_threads/future/cons/copy_neg.cc        |  1 -
+ .../30_threads/future/cons/default.cc         |  1 -
+ .../testsuite/30_threads/future/cons/move.cc  |  1 -
+ .../30_threads/future/cons/move_assign.cc     |  1 -
+ .../30_threads/future/members/45133.cc        |  1 -
+ .../30_threads/future/members/get.cc          |  1 -
+ .../30_threads/future/members/get2.cc         |  1 -
+ .../30_threads/future/members/share.cc        |  1 -
+ .../30_threads/future/members/valid.cc        |  1 -
+ .../30_threads/future/members/wait.cc         |  1 -
+ .../30_threads/future/members/wait_for.cc     |  1 -
+ .../30_threads/future/members/wait_until.cc   |  1 -
+ .../requirements/explicit_instantiation.cc    |  1 -
+ .../headers/future/types_std_c++0x.cc         |  1 -
+ .../30_threads/packaged_task/49668.cc         |  1 -
+ .../30_threads/packaged_task/60564.cc         |  1 -
+ .../30_threads/packaged_task/cons/1.cc        |  1 -
+ .../30_threads/packaged_task/cons/2.cc        |  1 -
+ .../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 -
+ .../packaged_task/cons/alloc_min.cc           |  1 -
+ .../packaged_task/cons/assign_neg.cc          |  1 -
+ .../30_threads/packaged_task/cons/copy_neg.cc |  1 -
+ .../30_threads/packaged_task/cons/move.cc     |  1 -
+ .../packaged_task/cons/move_assign.cc         |  1 -
+ .../30_threads/packaged_task/forced_unwind.cc |  1 -
+ .../packaged_task/members/at_thread_exit.cc   |  1 -
+ .../packaged_task/members/get_future.cc       |  1 -
+ .../packaged_task/members/get_future2.cc      |  1 -
+ .../packaged_task/members/invoke.cc           |  1 -
+ .../packaged_task/members/invoke2.cc          |  1 -
+ .../packaged_task/members/invoke3.cc          |  1 -
+ .../packaged_task/members/invoke4.cc          |  1 -
+ .../packaged_task/members/invoke5.cc          |  1 -
+ .../30_threads/packaged_task/members/reset.cc |  1 -
+ .../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 -
+ .../packaged_task/uses_allocator.cc           |  1 -
+ .../testsuite/30_threads/promise/60966.cc     |  1 -
+ .../testsuite/30_threads/promise/69106.cc     |  1 -
+ .../testsuite/30_threads/promise/cons/1.cc    |  1 -
+ .../30_threads/promise/cons/alloc.cc          |  1 -
+ .../30_threads/promise/cons/alloc2.cc         |  1 -
+ .../30_threads/promise/cons/alloc_min.cc      |  1 -
+ .../30_threads/promise/cons/assign_neg.cc     |  1 -
+ .../30_threads/promise/cons/copy_neg.cc       |  1 -
+ .../testsuite/30_threads/promise/cons/move.cc |  1 -
+ .../30_threads/promise/cons/move_assign.cc    |  1 -
+ .../promise/members/at_thread_exit.cc         |  1 -
+ .../30_threads/promise/members/get_future.cc  |  1 -
+ .../30_threads/promise/members/get_future2.cc |  1 -
+ .../promise/members/set_exception.cc          |  1 -
+ .../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 -
+ .../30_threads/promise/members/swap.cc        |  1 -
+ .../requirements/explicit_instantiation.cc    |  1 -
+ .../30_threads/promise/uses_allocator.cc      |  1 -
+ .../30_threads/shared_future/cons/assign.cc   |  1 -
+ .../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 -
+ .../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 -
+ .../shared_future/members/wait_for.cc         |  1 -
+ .../shared_future/members/wait_until.cc       |  1 -
+ .../requirements/explicit_instantiation.cc    |  1 -
+ 127 files changed, 273 insertions(+), 144 deletions(-)
+ create mode 100644 libstdc++-v3/libsupc++/eh_atomics.h
+
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/acinclude.m4
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/acinclude.m4
++++ gcc-4.9-4.9.2/src/libstdc++-v3/acinclude.m4
+@@ -3829,6 +3829,43 @@ AC_DEFUN([GLIBCXX_CHECK_SDT_H], [
+   AC_MSG_RESULT($glibcxx_cv_sys_sdt_h)
+ ])
+ 
++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-4.9-4.9.2/src/libstdc++-v3/config.h.in
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/config.h.in
++++ gcc-4.9-4.9.2/src/libstdc++-v3/config.h.in
+@@ -117,6 +117,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-4.9-4.9.2/src/libstdc++-v3/config/abi/pre/gnu.ver
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/config/abi/pre/gnu.ver
++++ gcc-4.9-4.9.2/src/libstdc++-v3/config/abi/pre/gnu.ver
+@@ -1260,6 +1260,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;
+@@ -1268,6 +1271,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;
+ 
+@@ -1365,6 +1369,16 @@ GLIBCXX_3.4.20 {
+     # std::regex_error::regex_error(std::regex_constants::error_type)
+     _ZNSt11regex_errorC[01]ENSt15regex_constants10error_typeE;
+ 
++#ifndef HAVE_EXCEPTION_PTR_SINCE_GCC46
++    # std::future symbols are exported in the first version to support
++    # std::exception_ptr
++    _ZNSt13__future_base12_Result_baseC*;
++    _ZNSt13__future_base12_Result_baseD*;
++    _ZTINSt13__future_base12_Result_baseE;
++    _ZTVNSt13__future_base12_Result_baseE;
++    _ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv;
++#endif
++
+ } GLIBCXX_3.4.19;
+ 
+ # Symbols in the support library (libsupc++) have their own tag.
+@@ -1498,6 +1512,7 @@ CXXABI_1.3.3 {
+     _ZTIPDi;
+     _ZTIPKDi;
+ 
++#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
+     # exception_ptr
+     _ZNSt15__exception_ptr13exception_ptrC1Ev;
+     _ZNSt15__exception_ptr13exception_ptrC2Ev;
+@@ -1517,6 +1532,7 @@ CXXABI_1.3.3 {
+ 
+     _ZSt17current_exceptionv;
+     _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
++#endif
+ 
+ } CXXABI_1.3.2;
+ 
+@@ -1547,10 +1563,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;
+ 
+@@ -1582,6 +1600,33 @@ CXXABI_1.3.8 {
+     _Z29__VLTVerifyVtablePointerDebug*;
+     __VLTChangePermission;
+ 
++#ifndef HAVE_EXCEPTION_PTR_SINCE_GCC46
++    # exception_ptr
++    _ZNSt15__exception_ptr13exception_ptrC1Ev;
++    _ZNSt15__exception_ptr13exception_ptrC2Ev;
++    _ZNSt15__exception_ptr13exception_ptrC1ERKS0_;
++    _ZNSt15__exception_ptr13exception_ptrC2ERKS0_;
++    _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE;
++    _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE;
++    _ZNSt15__exception_ptr13exception_ptrD1Ev;
++    _ZNSt15__exception_ptr13exception_ptrD2Ev;
++    _ZNSt15__exception_ptr13exception_ptraSERKS0_;
++    _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv;
++    _ZNKSt15__exception_ptr13exception_ptrntEv;
++    _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv;
++    _ZNSt15__exception_ptr13exception_ptr4swapERS0_;
++    _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_;
++    _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_;
++
++    _ZSt17current_exceptionv;
++    _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
++
++    # std::nested_exception
++    _ZNSt16nested_exceptionD*;
++    _ZTISt16nested_exception;
++    _ZTVSt16nested_exception;
++#endif
++
+ } CXXABI_1.3.7;
+ 
+ # Symbols in the support library (libsupc++) supporting transactional memory.
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/configure
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/configure
++++ gcc-4.9-4.9.2/src/libstdc++-v3/configure
+@@ -78717,6 +78717,55 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ 
+ 
+ 
++# Check which release added std::exception_ptr for the target
++
++  if test $enable_symvers != no; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for first version to support std::exception_ptr" >&5
++$as_echo_n "checking for first version to support std::exception_ptr... " >&6; }
++    case ${target} in
++      aarch64-*-* | alpha-*-* | hppa*-*-* | i?86-*-* | x86_64-*-* | \
++      m68k-*-* | powerpc*-*-* | s390*-*-* | *-*-solaris* )
++        ac_exception_ptr_since_gcc46=yes
++        ;;
++      *)
++        # If the value of this macro changes then we will need to hardcode
++        # yes/no here for additional targets based on the original value.
++        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++          #if __GCC_ATOMIC_INT_LOCK_FREE <= 1
++          # error atomic int not always lock free
++          #endif
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ac_exception_ptr_since_gcc46=yes
++else
++  ac_exception_ptr_since_gcc46=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++        ;;
++    esac
++    if test x"$ac_exception_ptr_since_gcc46" = x"yes" ; then
++
++$as_echo "#define HAVE_EXCEPTION_PTR_SINCE_GCC46 1" >>confdefs.h
++
++      { $as_echo "$as_me:${as_lineno-$LINENO}: result: 4.6.0" >&5
++$as_echo "4.6.0" >&6; }
++    else
++      { $as_echo "$as_me:${as_lineno-$LINENO}: result: 7.1.0" >&5
++$as_echo "7.1.0" >&6; }
++    fi
++  fi
++
++
+ # Define documentation rules conditionally.
+ 
+ # See if makeinfo has been installed and is modern enough
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/configure.ac
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/configure.ac
++++ gcc-4.9-4.9.2/src/libstdc++-v3/configure.ac
+@@ -396,6 +396,9 @@ GLIBCXX_CONFIGURE_TESTSUITE
+ # For gthread support.  Depends on GLIBCXX_ENABLE_SYMVERS.
+ GLIBCXX_CHECK_GTHREADS
+ 
++# 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-4.9-4.9.2/src/libstdc++-v3/include/std/future
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/include/std/future
++++ gcc-4.9-4.9.2/src/libstdc++-v3/include/std/future
+@@ -175,8 +175,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+     future<typename result_of<_Fn(_Args...)>::type>
+     async(_Fn&& __fn, _Args&&... __args);
+ 
+-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
+-  && (ATOMIC_INT_LOCK_FREE > 1)
++#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+ 
+   /// Base class and enclosing scope.
+   struct __future_base
+@@ -1599,7 +1598,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-4.9-4.9.2/src/libstdc++-v3/libsupc++/eh_atomics.h
+===================================================================
+--- /dev/null
++++ gcc-4.9-4.9.2/src/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-4.9-4.9.2/src/libstdc++-v3/libsupc++/eh_ptr.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/libsupc++/eh_ptr.cc
++++ gcc-4.9-4.9.2/src/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 ();
+@@ -257,5 +255,3 @@ std::rethrow_exception(std::exception_pt
+ }
+ 
+ #undef _GLIBCXX_EH_PTR_COMPAT
+-
+-#endif
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/libsupc++/eh_throw.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/libsupc++/eh_throw.cc
++++ gcc-4.9-4.9.2/src/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-4.9-4.9.2/src/libstdc++-v3/libsupc++/eh_tm.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/libsupc++/eh_tm.cc
++++ gcc-4.9-4.9.2/src/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-4.9-4.9.2/src/libstdc++-v3/libsupc++/exception
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/libsupc++/exception
++++ gcc-4.9-4.9.2/src/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++" {
+ 
+@@ -158,7 +157,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
+ 
+ #pragma GCC visibility pop
+ 
+-#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1)
++#if (__cplusplus >= 201103L)
+ #include <bits/exception_ptr.h>
+ #include <bits/nested_exception.h>
+ #endif
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/libsupc++/exception_ptr.h
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/libsupc++/exception_ptr.h
++++ gcc-4.9-4.9.2/src/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-4.9-4.9.2/src/libstdc++-v3/libsupc++/guard.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/libsupc++/guard.cc
++++ gcc-4.9-4.9.2/src/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-4.9-4.9.2/src/libstdc++-v3/libsupc++/nested_exception.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/libsupc++/nested_exception.cc
++++ gcc-4.9-4.9.2/src/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-4.9-4.9.2/src/libstdc++-v3/libsupc++/nested_exception.h
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/libsupc++/nested_exception.h
++++ gcc-4.9-4.9.2/src/libstdc++-v3/libsupc++/nested_exception.h
+@@ -38,10 +38,6 @@
+ 
+ #include <bits/c++config.h>
+ 
+-#if ATOMIC_INT_LOCK_FREE < 2
+-#  error This platform does not support exception propagation.
+-#endif
+-
+ extern "C++" {
+ 
+ namespace std
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/src/c++11/future.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/src/c++11/future.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/src/c++11/future.cc
+@@ -77,8 +77,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+   const char*
+   future_error::what() const noexcept { return _M_code.message().c_str(); }
+ 
+-#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-4.9-4.9.2/src/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
+@@ -1,6 +1,5 @@
+ // { dg-do compile }
+ // { dg-options "-std=gnu++0x" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++0x" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++0x" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++0x" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++0x" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
+@@ -1,5 +1,4 @@
+ // { dg-options "-std=gnu++0x" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/42819.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/async/42819.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/42819.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/49668.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/async/49668.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/49668.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/54297.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/async/54297.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/54297.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ // { dg-require-sleep "" }
+ 
+ // Copyright (C) 2012-2014 Free Software Foundation, Inc.
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/any.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/async/any.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/any.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/async.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/async/async.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/async.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
++++ gcc-4.9-4.9.2/src/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 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/launch.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/async/launch.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/launch.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/sync.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/async/sync.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/async/sync.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x -fno-inline -save-temps -g0" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ // { dg-final { scan-assembler-not "_ZNSt6futureIvEC2Ev" } }
+ // { dg-final { scan-assembler-not "_ZNSt6futureIiEC2Ev" } }
+ 
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
+@@ -1,7 +1,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
+@@ -1,7 +1,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/get.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/members/get.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/get.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/share.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/members/share.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/share.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" } 
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2013-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
++++ gcc-4.9-4.9.2/src/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 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/60966.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/60966.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/60966.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2011-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
+@@ -1,7 +1,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x -fno-inline -save-temps -g0" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ // { dg-final { scan-assembler-not "_ZNSt13shared_futureIvEC2Ev" } }
+ // { dg-final { scan-assembler-not "_ZNSt13shared_futureIiEC2Ev" } }
+ 
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
+@@ -1,7 +1,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
+@@ -1,7 +1,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2010-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
+@@ -4,7 +4,6 @@
+ // { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //
+Index: gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
+===================================================================
+--- gcc-4.9-4.9.2.orig/src/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
++++ gcc-4.9-4.9.2/src/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
+@@ -2,7 +2,6 @@
+ // { dg-options "-std=gnu++0x" }
+ // { dg-require-cstdint "" }
+ // { dg-require-gthreads "" }
+-// { dg-require-atomic-builtins "" }
+ 
+ // Copyright (C) 2009-2014 Free Software Foundation, Inc.
+ //

Reply to: