blob: 597be3296ee95468aa7229325dbfd52a22b983d0 [file] [log] [blame]
James Feist5a42d112017-12-14 10:51:39 -08001From cf17b2b404eed4778664b69d20e1943b619bfd38 Mon Sep 17 00:00:00 2001
2From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
3Date: Wed, 4 Jan 2017 10:54:59 +0000
4Subject: [PATCH 1/1] Support exception propagation without lock-free atomic
5 int
6
72017-01-04 Pauli Nieminen <suokkos@gmail.com>
8 Jonathan Wakely <jwakely@redhat.com>
9
10 PR libstdc++/64735
11 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
12 * config.h.in: Regenerate.
13 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
14 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
15 exports for exception_ptr, nested_exception, and future conditional.
16 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
17 exports for exception_ptr, nested_exception, and future conditional.
18 * configure: Regenerate.
19 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
20 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
21 * libsupc++/eh_atomics.h: New file for internal use only.
22 (__eh_atomic_inc, __eh_atomic_dec): New.
23 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
24 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
25 (rethrow_exception): Use eh_atomics.h reference counting helpers.
26 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
27 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
28 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
29 * libsupc++/exception_ptr.h: Likewise.
30 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
31 * libsupc++/nested_exception.cc: Remove check for
32 ATOMIC_INT_LOCK_FREE.
33 * libsupc++/nested_exception.h: Likewise.
34 * src/c++11/future.cc: Likewise.
35 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
36 * testsuite/18_support/nested_exception/*: Likewise.
37 * testsuite/30_threads/async/*: Likewise.
38 * testsuite/30_threads/future/*: Likewise.
39 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
40 * testsuite/30_threads/packaged_task/*: Likewise.
41 * testsuite/30_threads/promise/*: Likewise.
42 * testsuite/30_threads/shared_future/*: Likewise.
43
44git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244051 138bc75d-0d04-0410-961f-82ee72b054a4
45
46This is a backport of the upstream commit.
47
48Signed-off-by: James Feist <james.feist@linux.intel.com>
49---
50 libstdc++-v3/ChangeLog | 38 +++++++++-
51 libstdc++-v3/acinclude.m4 | 37 ++++++++++
52 libstdc++-v3/config.h.in | 3 +
53 libstdc++-v3/config/abi/pre/gnu.ver | 10 +++
54 libstdc++-v3/configure | 49 +++++++++++++
55 libstdc++-v3/configure.ac | 3 +
56 libstdc++-v3/include/std/future | 4 +-
57 libstdc++-v3/libsupc++/eh_atomics.h | 84 ++++++++++++++++++++++
58 libstdc++-v3/libsupc++/eh_ptr.cc | 14 ++--
59 libstdc++-v3/libsupc++/eh_throw.cc | 7 +-
60 libstdc++-v3/libsupc++/eh_tm.cc | 5 +-
61 libstdc++-v3/libsupc++/exception | 3 +-
62 libstdc++-v3/libsupc++/exception_ptr.h | 4 --
63 libstdc++-v3/libsupc++/guard.cc | 1 +
64 libstdc++-v3/libsupc++/nested_exception.cc | 2 -
65 libstdc++-v3/libsupc++/nested_exception.h | 4 --
66 libstdc++-v3/src/c++11/future.cc | 3 +-
67 .../testsuite/18_support/exception_ptr/40296.cc | 1 -
68 .../18_support/exception_ptr/60612-terminate.cc | 1 -
69 .../18_support/exception_ptr/60612-unexpected.cc | 1 -
70 .../testsuite/18_support/exception_ptr/62258.cc | 1 -
71 .../testsuite/18_support/exception_ptr/64241.cc | 1 -
72 .../18_support/exception_ptr/current_exception.cc | 1 -
73 .../testsuite/18_support/exception_ptr/lifespan.cc | 1 -
74 .../18_support/exception_ptr/make_exception_ptr.cc | 1 -
75 .../testsuite/18_support/exception_ptr/move.cc | 1 -
76 .../18_support/exception_ptr/requirements.cc | 1 -
77 .../18_support/exception_ptr/requirements_neg.cc | 1 -
78 .../18_support/exception_ptr/rethrow_exception.cc | 1 -
79 .../testsuite/18_support/nested_exception/51438.cc | 1 -
80 .../testsuite/18_support/nested_exception/62154.cc | 1 -
81 .../testsuite/18_support/nested_exception/68139.cc | 1 -
82 .../testsuite/18_support/nested_exception/cons.cc | 1 -
83 .../18_support/nested_exception/nested_ptr.cc | 1 -
84 .../nested_exception/rethrow_if_nested.cc | 1 -
85 .../18_support/nested_exception/rethrow_nested.cc | 1 -
86 .../nested_exception/throw_with_nested.cc | 1 -
87 libstdc++-v3/testsuite/30_threads/async/42819.cc | 1 -
88 libstdc++-v3/testsuite/30_threads/async/49668.cc | 1 -
89 libstdc++-v3/testsuite/30_threads/async/54297.cc | 1 -
90 libstdc++-v3/testsuite/30_threads/async/any.cc | 1 -
91 libstdc++-v3/testsuite/30_threads/async/async.cc | 1 -
92 libstdc++-v3/testsuite/30_threads/async/except.cc | 1 -
93 .../testsuite/30_threads/async/forced_unwind.cc | 1 -
94 libstdc++-v3/testsuite/30_threads/async/launch.cc | 1 -
95 libstdc++-v3/testsuite/30_threads/async/lwg2021.cc | 1 -
96 libstdc++-v3/testsuite/30_threads/async/sync.cc | 1 -
97 .../testsuite/30_threads/future/cons/assign_neg.cc | 1 -
98 .../testsuite/30_threads/future/cons/constexpr.cc | 1 -
99 .../testsuite/30_threads/future/cons/copy_neg.cc | 1 -
100 .../testsuite/30_threads/future/cons/default.cc | 1 -
101 .../testsuite/30_threads/future/cons/move.cc | 1 -
102 .../30_threads/future/cons/move_assign.cc | 1 -
103 .../testsuite/30_threads/future/members/45133.cc | 1 -
104 .../testsuite/30_threads/future/members/get.cc | 1 -
105 .../testsuite/30_threads/future/members/get2.cc | 1 -
106 .../testsuite/30_threads/future/members/share.cc | 1 -
107 .../testsuite/30_threads/future/members/valid.cc | 1 -
108 .../testsuite/30_threads/future/members/wait.cc | 1 -
109 .../30_threads/future/members/wait_for.cc | 1 -
110 .../30_threads/future/members/wait_until.cc | 1 -
111 .../future/requirements/explicit_instantiation.cc | 1 -
112 .../30_threads/headers/future/types_std_c++0x.cc | 1 -
113 .../testsuite/30_threads/packaged_task/49668.cc | 1 -
114 .../testsuite/30_threads/packaged_task/60564.cc | 1 -
115 .../testsuite/30_threads/packaged_task/cons/1.cc | 1 -
116 .../testsuite/30_threads/packaged_task/cons/2.cc | 1 -
117 .../testsuite/30_threads/packaged_task/cons/3.cc | 1 -
118 .../30_threads/packaged_task/cons/56492.cc | 1 -
119 .../30_threads/packaged_task/cons/alloc.cc | 1 -
120 .../30_threads/packaged_task/cons/alloc2.cc | 1 -
121 .../30_threads/packaged_task/cons/alloc_min.cc | 1 -
122 .../30_threads/packaged_task/cons/assign_neg.cc | 1 -
123 .../30_threads/packaged_task/cons/copy_neg.cc | 1 -
124 .../30_threads/packaged_task/cons/move.cc | 1 -
125 .../30_threads/packaged_task/cons/move_assign.cc | 1 -
126 .../30_threads/packaged_task/forced_unwind.cc | 1 -
127 .../packaged_task/members/at_thread_exit.cc | 1 -
128 .../30_threads/packaged_task/members/get_future.cc | 1 -
129 .../packaged_task/members/get_future2.cc | 1 -
130 .../30_threads/packaged_task/members/invoke.cc | 1 -
131 .../30_threads/packaged_task/members/invoke2.cc | 1 -
132 .../30_threads/packaged_task/members/invoke3.cc | 1 -
133 .../30_threads/packaged_task/members/invoke4.cc | 1 -
134 .../30_threads/packaged_task/members/invoke5.cc | 1 -
135 .../30_threads/packaged_task/members/reset.cc | 1 -
136 .../30_threads/packaged_task/members/reset2.cc | 1 -
137 .../30_threads/packaged_task/members/swap.cc | 1 -
138 .../30_threads/packaged_task/members/valid.cc | 1 -
139 .../requirements/explicit_instantiation.cc | 1 -
140 .../30_threads/packaged_task/uses_allocator.cc | 1 -
141 libstdc++-v3/testsuite/30_threads/promise/60966.cc | 1 -
142 libstdc++-v3/testsuite/30_threads/promise/69106.cc | 1 -
143 .../testsuite/30_threads/promise/cons/1.cc | 1 -
144 .../testsuite/30_threads/promise/cons/alloc.cc | 1 -
145 .../testsuite/30_threads/promise/cons/alloc2.cc | 1 -
146 .../testsuite/30_threads/promise/cons/alloc_min.cc | 1 -
147 .../30_threads/promise/cons/assign_neg.cc | 1 -
148 .../testsuite/30_threads/promise/cons/copy_neg.cc | 1 -
149 .../testsuite/30_threads/promise/cons/move.cc | 1 -
150 .../30_threads/promise/cons/move_assign.cc | 1 -
151 .../30_threads/promise/members/at_thread_exit.cc | 1 -
152 .../30_threads/promise/members/get_future.cc | 1 -
153 .../30_threads/promise/members/get_future2.cc | 1 -
154 .../30_threads/promise/members/set_exception.cc | 1 -
155 .../30_threads/promise/members/set_exception2.cc | 1 -
156 .../30_threads/promise/members/set_value.cc | 1 -
157 .../30_threads/promise/members/set_value2.cc | 1 -
158 .../30_threads/promise/members/set_value3.cc | 1 -
159 .../testsuite/30_threads/promise/members/swap.cc | 1 -
160 .../promise/requirements/explicit_instantiation.cc | 1 -
161 .../testsuite/30_threads/promise/uses_allocator.cc | 1 -
162 .../30_threads/shared_future/cons/assign.cc | 1 -
163 .../30_threads/shared_future/cons/constexpr.cc | 1 -
164 .../30_threads/shared_future/cons/copy.cc | 1 -
165 .../30_threads/shared_future/cons/default.cc | 1 -
166 .../30_threads/shared_future/cons/move.cc | 1 -
167 .../30_threads/shared_future/cons/move_assign.cc | 1 -
168 .../30_threads/shared_future/members/45133.cc | 1 -
169 .../30_threads/shared_future/members/get.cc | 1 -
170 .../30_threads/shared_future/members/get2.cc | 1 -
171 .../30_threads/shared_future/members/valid.cc | 1 -
172 .../30_threads/shared_future/members/wait.cc | 1 -
173 .../30_threads/shared_future/members/wait_for.cc | 1 -
174 .../30_threads/shared_future/members/wait_until.cc | 1 -
175 .../requirements/explicit_instantiation.cc | 1 -
176 126 files changed, 236 insertions(+), 144 deletions(-)
177 create mode 100644 libstdc++-v3/libsupc++/eh_atomics.h
178
179diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
180index 3e8f33c..cb70bd2 100644
181--- a/libstdc++-v3/ChangeLog
182+++ b/libstdc++-v3/ChangeLog
183@@ -1,4 +1,40 @@
184-2016-08-22 Release Manager
185+2017-01-04 Pauli Nieminen <suokkos@gmail.com>
186+ Jonathan Wakely <jwakely@redhat.com>
187+
188+ PR libstdc++/64735
189+ * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
190+ * config.h.in: Regenerate.
191+ * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
192+ (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
193+ exports for exception_ptr, nested_exception, and future conditional.
194+ [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
195+ exports for exception_ptr, nested_exception, and future conditional.
196+ * configure: Regenerate.
197+ * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
198+ * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
199+ * libsupc++/eh_atomics.h: New file for internal use only.
200+ (__eh_atomic_inc, __eh_atomic_dec): New.
201+ * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
202+ (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
203+ (rethrow_exception): Use eh_atomics.h reference counting helpers.
204+ * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
205+ * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
206+ * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
207+ * libsupc++/exception_ptr.h: Likewise.
208+ * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
209+ * libsupc++/nested_exception.cc: Remove check for
210+ ATOMIC_INT_LOCK_FREE.
211+ * libsupc++/nested_exception.h: Likewise.
212+ * src/c++11/future.cc: Likewise.
213+ * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
214+ * testsuite/18_support/nested_exception/*: Likewise.
215+ * testsuite/30_threads/async/*: Likewise.
216+ * testsuite/30_threads/future/*: Likewise.
217+ * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
218+ * testsuite/30_threads/packaged_task/*: Likewise.
219+ * testsuite/30_threads/promise/*: Likewise.
220+ * testsuite/30_threads/shared_future/*: Likewise.
221+
222
223 * GCC 6.2.0 released.
224
225diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
226index b0f88cb..8341769 100644
227--- a/libstdc++-v3/acinclude.m4
228+++ b/libstdc++-v3/acinclude.m4
229@@ -4419,6 +4419,43 @@ AC_DEFUN([GLIBCXX_CHECK_SIZE_T_MANGLING], [
230 [Define to the letter to which size_t is mangled.])
231 ])
232
233+dnl
234+dnl Determine whether std::exception_ptr symbols should be exported with
235+dnl the symbol versions from GCC 4.6.0 or GCC 7.1.0, depending on which
236+dnl release first added support for std::exception_ptr. Originally it was
237+dnl only supported for targets with always-lock-free atomics for int, but
238+dnl since GCC 7.1 it is supported for all targets.
239+dnl
240+AC_DEFUN([GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER], [
241+ if test $enable_symvers != no; then
242+ AC_MSG_CHECKING([for first version to support std::exception_ptr])
243+ case ${target} in
244+ aarch64-*-* | alpha-*-* | hppa*-*-* | i?86-*-* | x86_64-*-* | \
245+ m68k-*-* | powerpc*-*-* | s390*-*-* | *-*-solaris* )
246+ ac_exception_ptr_since_gcc46=yes
247+ ;;
248+ *)
249+ # If the value of this macro changes then we will need to hardcode
250+ # yes/no here for additional targets based on the original value.
251+ AC_TRY_COMPILE([], [
252+ #if __GCC_ATOMIC_INT_LOCK_FREE <= 1
253+ # error atomic int not always lock free
254+ #endif
255+ ],
256+ [ac_exception_ptr_since_gcc46=yes],
257+ [ac_exception_ptr_since_gcc46=no])
258+ ;;
259+ esac
260+ if test x"$ac_exception_ptr_since_gcc46" = x"yes" ; then
261+ AC_DEFINE(HAVE_EXCEPTION_PTR_SINCE_GCC46, 1,
262+ [Define to 1 if GCC 4.6 supported std::exception_ptr for the target])
263+ AC_MSG_RESULT([4.6.0])
264+ else
265+ AC_MSG_RESULT([7.1.0])
266+ fi
267+ fi
268+])
269+
270 # Macros from the top-level gcc directory.
271 m4_include([../config/gc++filt.m4])
272 m4_include([../config/tls.m4])
273diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in
274index 701d479..cc7dbe5 100644
275--- a/libstdc++-v3/config.h.in
276+++ b/libstdc++-v3/config.h.in
277@@ -120,6 +120,9 @@
278 /* Define if EWOULDBLOCK exists. */
279 #undef HAVE_EWOULDBLOCK
280
281+/* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */
282+#undef HAVE_EXCEPTION_PTR_SINCE_GCC46
283+
284 /* Define to 1 if you have the <execinfo.h> header file. */
285 #undef HAVE_EXECINFO_H
286
287diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
288index 5c6b0fe..f0a5732 100644
289--- a/libstdc++-v3/config/abi/pre/gnu.ver
290+++ b/libstdc++-v3/config/abi/pre/gnu.ver
291@@ -1490,6 +1490,9 @@ GLIBCXX_3.4.15 {
292 _ZNSt14error_categoryC*;
293 _ZNSt14error_categoryD*;
294
295+#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
296+ # std::future symbols are only present in this version when
297+ # atomic operations on int are always lock-free.
298 _ZNSt13__future_base12_Result_baseC*;
299 _ZNSt13__future_base12_Result_baseD*;
300 _ZTINSt13__future_base12_Result_baseE;
301@@ -1498,6 +1501,7 @@ GLIBCXX_3.4.15 {
302 _ZNSt13__future_base11_State_baseD*;
303 _ZTINSt13__future_base11_State_baseE;
304 _ZTVNSt13__future_base11_State_baseE;
305+#endif
306
307 } GLIBCXX_3.4.14;
308
309@@ -1674,8 +1678,10 @@ GLIBCXX_3.4.21 {
310
311 # std::notify_all_at_thread_exit
312 _ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE;
313+#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
314 # std::__future_base::_State_baseV2::_Make_ready::_M_set()
315 _ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv;
316+#endif
317
318 # ABI-tagged std::basic_string
319 _ZNSt7__cxx1112basic_string*;
320@@ -2040,6 +2046,7 @@ CXXABI_1.3.3 {
321 _ZTIPDi;
322 _ZTIPKDi;
323
324+#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
325 # exception_ptr
326 _ZNSt15__exception_ptr13exception_ptrC1Ev;
327 _ZNSt15__exception_ptr13exception_ptrC2Ev;
328@@ -2059,6 +2066,7 @@ CXXABI_1.3.3 {
329
330 _ZSt17current_exceptionv;
331 _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
332+#endif
333
334 } CXXABI_1.3.2;
335
336@@ -2089,10 +2097,12 @@ CXXABI_1.3.5 {
337 # FNV hash.
338 _ZSt15_Fnv_hash_bytesPKv*;
339
340+#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46
341 # std::nested_exception
342 _ZNSt16nested_exceptionD*;
343 _ZTISt16nested_exception;
344 _ZTVSt16nested_exception;
345+#endif
346
347 } CXXABI_1.3.4;
348
349diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
350index 41797a9..7830085 100755
351--- a/libstdc++-v3/configure
352+++ b/libstdc++-v3/configure
353@@ -80509,6 +80509,55 @@ _ACEOF
354
355
356
357+# Check which release added std::exception_ptr for the target
358+
359+ if test $enable_symvers != no; then
360+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for first version to support std::exception_ptr" >&5
361+$as_echo_n "checking for first version to support std::exception_ptr... " >&6; }
362+ case ${target} in
363+ aarch64-*-* | alpha-*-* | hppa*-*-* | i?86-*-* | x86_64-*-* | \
364+ m68k-*-* | powerpc*-*-* | s390*-*-* | *-*-solaris* )
365+ ac_exception_ptr_since_gcc46=yes
366+ ;;
367+ *)
368+ # If the value of this macro changes then we will need to hardcode
369+ # yes/no here for additional targets based on the original value.
370+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
371+/* end confdefs.h. */
372+
373+int
374+main ()
375+{
376+
377+ #if __GCC_ATOMIC_INT_LOCK_FREE <= 1
378+ # error atomic int not always lock free
379+ #endif
380+
381+ ;
382+ return 0;
383+}
384+_ACEOF
385+if ac_fn_c_try_compile "$LINENO"; then :
386+ ac_exception_ptr_since_gcc46=yes
387+else
388+ ac_exception_ptr_since_gcc46=no
389+fi
390+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
391+ ;;
392+ esac
393+ if test x"$ac_exception_ptr_since_gcc46" = x"yes" ; then
394+
395+$as_echo "#define HAVE_EXCEPTION_PTR_SINCE_GCC46 1" >>confdefs.h
396+
397+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 4.6.0" >&5
398+$as_echo "4.6.0" >&6; }
399+ else
400+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 7.1.0" >&5
401+$as_echo "7.1.0" >&6; }
402+ fi
403+ fi
404+
405+
406 # Define documentation rules conditionally.
407
408 # See if makeinfo has been installed and is modern enough
409diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
410index 9e19e99..7dbb758 100644
411--- a/libstdc++-v3/configure.ac
412+++ b/libstdc++-v3/configure.ac
413@@ -411,6 +411,9 @@ GLIBCXX_CHECK_FILESYSTEM_DEPS
414 # For Transactional Memory TS
415 GLIBCXX_CHECK_SIZE_T_MANGLING
416
417+# Check which release added std::exception_ptr for the target
418+GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER
419+
420 # Define documentation rules conditionally.
421
422 # See if makeinfo has been installed and is modern enough
423diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future
424index 80b7b06..7a16bf8 100644
425--- a/libstdc++-v3/include/std/future
426+++ b/libstdc++-v3/include/std/future
427@@ -182,8 +182,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
428 future<__async_result_of<_Fn, _Args...>>
429 async(_Fn&& __fn, _Args&&... __args);
430
431-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
432- && (ATOMIC_INT_LOCK_FREE > 1)
433+#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
434
435 /// Base class and enclosing scope.
436 struct __future_base
437@@ -1745,7 +1744,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
438
439 #endif // _GLIBCXX_ASYNC_ABI_COMPAT
440 #endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
441- // && ATOMIC_INT_LOCK_FREE
442
443 // @} group futures
444 _GLIBCXX_END_NAMESPACE_VERSION
445diff --git a/libstdc++-v3/libsupc++/eh_atomics.h b/libstdc++-v3/libsupc++/eh_atomics.h
446new file mode 100644
447index 0000000..71b42a4
448--- /dev/null
449+++ b/libstdc++-v3/libsupc++/eh_atomics.h
450@@ -0,0 +1,84 @@
451+// Exception Handling support header for -*- C++ -*-
452+
453+// Copyright (C) 2016 Free Software Foundation, Inc.
454+//
455+// This file is part of GCC.
456+//
457+// GCC is free software; you can redistribute it and/or modify
458+// it under the terms of the GNU General Public License as published by
459+// the Free Software Foundation; either version 3, or (at your option)
460+// any later version.
461+//
462+// GCC is distributed in the hope that it will be useful,
463+// but WITHOUT ANY WARRANTY; without even the implied warranty of
464+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
465+// GNU General Public License for more details.
466+//
467+// Under Section 7 of GPL version 3, you are granted additional
468+// permissions described in the GCC Runtime Library Exception, version
469+// 3.1, as published by the Free Software Foundation.
470+
471+// You should have received a copy of the GNU General Public License and
472+// a copy of the GCC Runtime Library Exception along with this program;
473+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
474+// <http://www.gnu.org/licenses/>.
475+
476+/** @file eh_atomics.h
477+ * This is an internal header file, included by library source files.
478+ * Do not attempt to use it directly.
479+ */
480+
481+#ifndef _EH_ATOMICS_H
482+#define _EH_ATOMICS_H 1
483+
484+#include <bits/c++config.h>
485+#include <bits/atomic_word.h>
486+#include <bits/atomic_lockfree_defines.h>
487+#if ATOMIC_INT_LOCK_FREE <= 1
488+# include <ext/atomicity.h>
489+#endif
490+
491+#pragma GCC visibility push(default)
492+extern "C++" {
493+namespace __gnu_cxx
494+{
495+ void
496+ __eh_atomic_inc (_Atomic_word* __count) __attribute__((always_inline));
497+
498+ bool
499+ __eh_atomic_dec (_Atomic_word* __count) __attribute__((always_inline));
500+
501+ // Increments the count.
502+ inline void
503+ __eh_atomic_inc (_Atomic_word* __count)
504+ {
505+#if ATOMIC_INT_LOCK_FREE > 1
506+ __atomic_add_fetch (__count, 1, __ATOMIC_ACQ_REL);
507+#else
508+ _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE (__count);
509+ __gnu_cxx::__atomic_add_dispatch (__count, 1);
510+ _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER (__count);
511+#endif
512+ }
513+
514+ // Decrements the count and returns true if it reached zero.
515+ inline bool
516+ __eh_atomic_dec (_Atomic_word* __count)
517+ {
518+#if ATOMIC_INT_LOCK_FREE > 1
519+ return __atomic_sub_fetch (__count, 1, __ATOMIC_ACQ_REL) == 0;
520+#else
521+ _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE (__count);
522+ if (__gnu_cxx::__exchange_and_add_dispatch (__count, -1) == 1)
523+ {
524+ _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER (__count);
525+ return true;
526+ }
527+ return false;
528+#endif
529+ }
530+} // namespace __gnu_cxx
531+}
532+#pragma GCC visibility pop
533+
534+#endif // _EH_ATOMICS_H
535diff --git a/libstdc++-v3/libsupc++/eh_ptr.cc b/libstdc++-v3/libsupc++/eh_ptr.cc
536index 3b8e0a01..bb68656 100644
537--- a/libstdc++-v3/libsupc++/eh_ptr.cc
538+++ b/libstdc++-v3/libsupc++/eh_ptr.cc
539@@ -23,9 +23,7 @@
540 // <http://www.gnu.org/licenses/>.
541
542 #include <bits/c++config.h>
543-#include <bits/atomic_lockfree_defines.h>
544-
545-#if ATOMIC_INT_LOCK_FREE > 1
546+#include "eh_atomics.h"
547
548 #define _GLIBCXX_EH_PTR_COMPAT
549
550@@ -103,7 +101,7 @@ std::__exception_ptr::exception_ptr::_M_addref() _GLIBCXX_USE_NOEXCEPT
551 {
552 __cxa_refcounted_exception *eh =
553 __get_refcounted_exception_header_from_obj (_M_exception_object);
554- __atomic_add_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL);
555+ __gnu_cxx::__eh_atomic_inc (&eh->referenceCount);
556 }
557 }
558
559@@ -115,7 +113,7 @@ std::__exception_ptr::exception_ptr::_M_release() _GLIBCXX_USE_NOEXCEPT
560 {
561 __cxa_refcounted_exception *eh =
562 __get_refcounted_exception_header_from_obj (_M_exception_object);
563- if (__atomic_sub_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL) == 0)
564+ if (__gnu_cxx::__eh_atomic_dec (&eh->referenceCount))
565 {
566 if (eh->exc.exceptionDestructor)
567 eh->exc.exceptionDestructor (_M_exception_object);
568@@ -219,7 +217,7 @@ __gxx_dependent_exception_cleanup(_Unwind_Reason_Code code,
569
570 __cxa_free_dependent_exception (dep);
571
572- if (__atomic_sub_fetch (&header->referenceCount, 1, __ATOMIC_ACQ_REL) == 0)
573+ if (__gnu_cxx::__eh_atomic_dec (&header->referenceCount))
574 {
575 if (header->exc.exceptionDestructor)
576 header->exc.exceptionDestructor (header + 1);
577@@ -238,7 +236,7 @@ std::rethrow_exception(std::exception_ptr ep)
578
579 __cxa_dependent_exception *dep = __cxa_allocate_dependent_exception ();
580 dep->primaryException = obj;
581- __atomic_add_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL);
582+ __gnu_cxx::__eh_atomic_inc (&eh->referenceCount);
583
584 dep->unexpectedHandler = get_unexpected ();
585 dep->terminateHandler = get_terminate ();
586@@ -260,5 +258,3 @@ std::rethrow_exception(std::exception_ptr ep)
587 }
588
589 #undef _GLIBCXX_EH_PTR_COMPAT
590-
591-#endif
592diff --git a/libstdc++-v3/libsupc++/eh_throw.cc b/libstdc++-v3/libsupc++/eh_throw.cc
593index 9aac218..2bd4780 100644
594--- a/libstdc++-v3/libsupc++/eh_throw.cc
595+++ b/libstdc++-v3/libsupc++/eh_throw.cc
596@@ -24,6 +24,7 @@
597
598 #include <bits/c++config.h>
599 #include "unwind-cxx.h"
600+#include "eh_atomics.h"
601
602 using namespace __cxxabiv1;
603
604@@ -42,17 +43,13 @@ __gxx_exception_cleanup (_Unwind_Reason_Code code, _Unwind_Exception *exc)
605 if (code != _URC_FOREIGN_EXCEPTION_CAUGHT && code != _URC_NO_REASON)
606 __terminate (header->exc.terminateHandler);
607
608-#if ATOMIC_INT_LOCK_FREE > 1
609- if (__atomic_sub_fetch (&header->referenceCount, 1, __ATOMIC_ACQ_REL) == 0)
610+ if (__gnu_cxx::__eh_atomic_dec (&header->referenceCount))
611 {
612-#endif
613 if (header->exc.exceptionDestructor)
614 header->exc.exceptionDestructor (header + 1);
615
616 __cxa_free_exception (header + 1);
617-#if ATOMIC_INT_LOCK_FREE > 1
618 }
619-#endif
620 }
621
622
623diff --git a/libstdc++-v3/libsupc++/eh_tm.cc b/libstdc++-v3/libsupc++/eh_tm.cc
624index c05f611..85ae46c 100644
625--- a/libstdc++-v3/libsupc++/eh_tm.cc
626+++ b/libstdc++-v3/libsupc++/eh_tm.cc
627@@ -24,6 +24,7 @@
628
629 #include <cstdlib>
630 #include "unwind-cxx.h"
631+#include "eh_atomics.h"
632
633 using namespace __cxxabiv1;
634
635@@ -45,9 +46,7 @@ free_any_cxa_exception (_Unwind_Exception *eo)
636 __cxa_free_dependent_exception (dep);
637 }
638
639-#if __GCC_ATOMIC_INT_LOCK_FREE > 1
640- if (__atomic_sub_fetch (&h->referenceCount, 1, __ATOMIC_ACQ_REL) == 0)
641-#endif
642+ if (__gnu_cxx::__eh_atomic_dec (&h->referenceCount))
643 __cxa_free_exception (h + 1);
644 }
645
646diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception
647index 63631f6..22cffd6 100644
648--- a/libstdc++-v3/libsupc++/exception
649+++ b/libstdc++-v3/libsupc++/exception
650@@ -35,7 +35,6 @@
651 #pragma GCC visibility push(default)
652
653 #include <bits/c++config.h>
654-#include <bits/atomic_lockfree_defines.h>
655
656 extern "C++" {
657
658@@ -166,7 +165,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
659
660 #pragma GCC visibility pop
661
662-#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1)
663+#if (__cplusplus >= 201103L)
664 #include <bits/exception_ptr.h>
665 #include <bits/nested_exception.h>
666 #endif
667diff --git a/libstdc++-v3/libsupc++/exception_ptr.h b/libstdc++-v3/libsupc++/exception_ptr.h
668index 783e539..3429b57 100644
669--- a/libstdc++-v3/libsupc++/exception_ptr.h
670+++ b/libstdc++-v3/libsupc++/exception_ptr.h
671@@ -36,10 +36,6 @@
672 #include <bits/c++config.h>
673 #include <bits/exception_defines.h>
674
675-#if ATOMIC_INT_LOCK_FREE < 2
676-# error This platform does not support exception propagation.
677-#endif
678-
679 extern "C++" {
680
681 namespace std
682diff --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc
683index 9b61799..66edffb 100644
684--- a/libstdc++-v3/libsupc++/guard.cc
685+++ b/libstdc++-v3/libsupc++/guard.cc
686@@ -30,6 +30,7 @@
687 #include <new>
688 #include <ext/atomicity.h>
689 #include <ext/concurrence.h>
690+#include <bits/atomic_lockfree_defines.h>
691 #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \
692 && (ATOMIC_INT_LOCK_FREE > 1) && defined(_GLIBCXX_HAVE_LINUX_FUTEX)
693 # include <climits>
694diff --git a/libstdc++-v3/libsupc++/nested_exception.cc b/libstdc++-v3/libsupc++/nested_exception.cc
695index c1a7b7a..82dddb1 100644
696--- a/libstdc++-v3/libsupc++/nested_exception.cc
697+++ b/libstdc++-v3/libsupc++/nested_exception.cc
698@@ -25,7 +25,5 @@
699
700 namespace std
701 {
702-#if ATOMIC_INT_LOCK_FREE > 1
703 nested_exception::~nested_exception() noexcept = default;
704-#endif
705 } // namespace std
706diff --git a/libstdc++-v3/libsupc++/nested_exception.h b/libstdc++-v3/libsupc++/nested_exception.h
707index 377b803..b9c6baa 100644
708--- a/libstdc++-v3/libsupc++/nested_exception.h
709+++ b/libstdc++-v3/libsupc++/nested_exception.h
710@@ -39,10 +39,6 @@
711 #include <bits/c++config.h>
712 #include <bits/move.h>
713
714-#if ATOMIC_INT_LOCK_FREE < 2
715-# error This platform does not support exception propagation.
716-#endif
717-
718 extern "C++" {
719
720 namespace std
721diff --git a/libstdc++-v3/src/c++11/future.cc b/libstdc++-v3/src/c++11/future.cc
722index 7809a37..a14051a 100644
723--- a/libstdc++-v3/src/c++11/future.cc
724+++ b/libstdc++-v3/src/c++11/future.cc
725@@ -78,8 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
726 const char*
727 future_error::what() const noexcept { return logic_error::what(); }
728
729-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \
730- && (ATOMIC_INT_LOCK_FREE > 1)
731+#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
732 __future_base::_Result_base::_Result_base() = default;
733
734 __future_base::_Result_base::~_Result_base() = default;
735diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
736index 23d8fed..9e866d6 100644
737--- a/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
738+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc
739@@ -1,6 +1,5 @@
740 // { dg-do compile }
741 // { dg-options "-std=gnu++11" }
742-// { dg-require-atomic-builtins "" }
743
744 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
745 //
746diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
747index de5ed4a..01faaa2 100644
748--- a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
749+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc
750@@ -1,5 +1,4 @@
751 // { dg-options "-std=gnu++11" }
752-// { dg-require-atomic-builtins "" }
753
754 // Copyright (C) 2014-2016 Free Software Foundation, Inc.
755 //
756diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
757index 14f6ffe..e507262 100644
758--- a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
759+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc
760@@ -1,5 +1,4 @@
761 // { dg-options "-std=gnu++11" }
762-// { dg-require-atomic-builtins "" }
763
764 // Copyright (C) 2014-2016 Free Software Foundation, Inc.
765 //
766diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
767index a714aa3..81f9ab7 100644
768--- a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
769+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
770@@ -1,5 +1,4 @@
771 // { dg-options "-std=gnu++11" }
772-// { dg-require-atomic-builtins "" }
773
774 // Copyright (C) 2015-2016 Free Software Foundation, Inc.
775 //
776diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
777index 25002d5..f9d6fb6 100644
778--- a/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
779+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc
780@@ -16,7 +16,6 @@
781 // <http://www.gnu.org/licenses/>.
782
783 // { dg-options "-std=gnu++11 -fno-exceptions -O0" }
784-// { dg-require-atomic-builtins "" }
785
786 #include <exception>
787 #include <testsuite_hooks.h>
788diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
789index 47d521b..497b63d 100644
790--- a/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
791+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc
792@@ -1,5 +1,4 @@
793 // { dg-options "-std=gnu++11" }
794-// { dg-require-atomic-builtins "" }
795
796 // 2008-05-25 Sebastian Redl <sebastian.redl@getdesigned.at>
797
798diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
799index bf4f4ab..25b8e41 100644
800--- a/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
801+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
802@@ -1,5 +1,4 @@
803 // { dg-options "-std=gnu++11" }
804-// { dg-require-atomic-builtins "" }
805
806 // 2008-05-25 Sebastian Redl <sebastian.redl@getdesigned.at>
807
808diff --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
809index 0ea80b1..d0076dc 100644
810--- a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
811+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc
812@@ -1,5 +1,4 @@
813 // { dg-options "-std=gnu++11" }
814-// { dg-require-atomic-builtins "" }
815
816 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
817 //
818diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
819index 762e3dc..20a0d01 100644
820--- a/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
821+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc
822@@ -1,5 +1,4 @@
823 // { dg-options "-std=gnu++11" }
824-// { dg-require-atomic-builtins "" }
825
826 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
827 //
828diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
829index ec016ca..a326bdd 100644
830--- a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
831+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc
832@@ -1,5 +1,4 @@
833 // { dg-options "-std=gnu++11" }
834-// { dg-require-atomic-builtins "" }
835
836 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
837 //
838diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
839index d5f7c91..8d6d274 100644
840--- a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
841+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc
842@@ -1,6 +1,5 @@
843 // { dg-do compile }
844 // { dg-options "-std=gnu++11" }
845-// { dg-require-atomic-builtins "" }
846
847 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
848 //
849diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
850index 2afe03d..65fd6ea 100644
851--- a/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
852+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc
853@@ -1,5 +1,4 @@
854 // { dg-options "-std=gnu++11" }
855-// { dg-require-atomic-builtins "" }
856
857 // 2008-05-25 Sebastian Redl <sebastian.redl@getdesigned.at>
858
859diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc b/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
860index cfabf66..046db76 100644
861--- a/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
862+++ b/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc
863@@ -1,6 +1,5 @@
864 // { dg-do compile }
865 // { dg-options "-std=gnu++11" }
866-// { dg-require-atomic-builtins "" }
867
868 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
869 //
870diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc b/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
871index 4af2b1f..a9aa587 100644
872--- a/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
873+++ b/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc
874@@ -1,5 +1,4 @@
875 // { dg-options "-std=gnu++11" }
876-// { dg-require-atomic-builtins "" }
877
878 // Copyright (C) 2014-2016 Free Software Foundation, Inc.
879 //
880diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc b/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
881index 6be7ec1..18fbc59 100644
882--- a/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
883+++ b/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc
884@@ -1,6 +1,5 @@
885 // { dg-do compile }
886 // { dg-options "-std=gnu++11" }
887-// { dg-require-atomic-builtins "" }
888
889 // Copyright (C) 2015-2016 Free Software Foundation, Inc.
890 //
891diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc b/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
892index 25437d9..30e2c32 100644
893--- a/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
894+++ b/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc
895@@ -1,5 +1,4 @@
896 // { dg-options "-std=gnu++11" }
897-// { dg-require-atomic-builtins "" }
898
899 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
900 //
901diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc b/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
902index 9adb7ee..1382ffe 100644
903--- a/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
904+++ b/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc
905@@ -1,5 +1,4 @@
906 // { dg-options "-std=gnu++11" }
907-// { dg-require-atomic-builtins "" }
908
909 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
910 //
911diff --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
912index d98a082..e0a49ea 100644
913--- a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
914+++ b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
915@@ -1,5 +1,4 @@
916 // { dg-options "-std=gnu++11" }
917-// { dg-require-atomic-builtins "" }
918
919 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
920 //
921diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
922index 6487efa..7fa0015 100644
923--- a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
924+++ b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc
925@@ -1,5 +1,4 @@
926 // { dg-options "-std=gnu++11" }
927-// { dg-require-atomic-builtins "" }
928
929 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
930 //
931diff --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
932index 5579cc0..4acff59 100644
933--- a/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
934+++ b/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc
935@@ -1,5 +1,4 @@
936 // { dg-options "-std=gnu++11" }
937-// { dg-require-atomic-builtins "" }
938
939 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
940 //
941diff --git a/libstdc++-v3/testsuite/30_threads/async/42819.cc b/libstdc++-v3/testsuite/30_threads/async/42819.cc
942index fd00759..d46c9b0 100644
943--- a/libstdc++-v3/testsuite/30_threads/async/42819.cc
944+++ b/libstdc++-v3/testsuite/30_threads/async/42819.cc
945@@ -4,7 +4,6 @@
946 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
947 // { dg-require-cstdint "" }
948 // { dg-require-gthreads "" }
949-// { dg-require-atomic-builtins "" }
950
951 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
952 //
953diff --git a/libstdc++-v3/testsuite/30_threads/async/49668.cc b/libstdc++-v3/testsuite/30_threads/async/49668.cc
954index f912bdd..99de898 100644
955--- a/libstdc++-v3/testsuite/30_threads/async/49668.cc
956+++ b/libstdc++-v3/testsuite/30_threads/async/49668.cc
957@@ -4,7 +4,6 @@
958 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
959 // { dg-require-cstdint "" }
960 // { dg-require-gthreads "" }
961-// { dg-require-atomic-builtins "" }
962
963 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
964 //
965diff --git a/libstdc++-v3/testsuite/30_threads/async/54297.cc b/libstdc++-v3/testsuite/30_threads/async/54297.cc
966index 2462a99..adf1d19 100644
967--- a/libstdc++-v3/testsuite/30_threads/async/54297.cc
968+++ b/libstdc++-v3/testsuite/30_threads/async/54297.cc
969@@ -4,7 +4,6 @@
970 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
971 // { dg-require-cstdint "" }
972 // { dg-require-gthreads "" }
973-// { dg-require-atomic-builtins "" }
974 // { dg-require-sleep "" }
975
976 // Copyright (C) 2012-2016 Free Software Foundation, Inc.
977diff --git a/libstdc++-v3/testsuite/30_threads/async/any.cc b/libstdc++-v3/testsuite/30_threads/async/any.cc
978index 552b6e7..ee6a9a7 100644
979--- a/libstdc++-v3/testsuite/30_threads/async/any.cc
980+++ b/libstdc++-v3/testsuite/30_threads/async/any.cc
981@@ -4,7 +4,6 @@
982 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
983 // { dg-require-cstdint "" }
984 // { dg-require-gthreads "" }
985-// { dg-require-atomic-builtins "" }
986
987 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
988 //
989diff --git a/libstdc++-v3/testsuite/30_threads/async/async.cc b/libstdc++-v3/testsuite/30_threads/async/async.cc
990index b8f2d5a..f8e24b6 100644
991--- a/libstdc++-v3/testsuite/30_threads/async/async.cc
992+++ b/libstdc++-v3/testsuite/30_threads/async/async.cc
993@@ -4,7 +4,6 @@
994 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
995 // { dg-require-cstdint "" }
996 // { dg-require-gthreads "" }
997-// { dg-require-atomic-builtins "" }
998
999 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1000 //
1001diff --git a/libstdc++-v3/testsuite/30_threads/async/except.cc b/libstdc++-v3/testsuite/30_threads/async/except.cc
1002index fd9d628..36f9e57 100644
1003--- a/libstdc++-v3/testsuite/30_threads/async/except.cc
1004+++ b/libstdc++-v3/testsuite/30_threads/async/except.cc
1005@@ -4,7 +4,6 @@
1006 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1007 // { dg-require-cstdint "" }
1008 // { dg-require-gthreads "" }
1009-// { dg-require-atomic-builtins "" }
1010
1011 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1012 //
1013diff --git a/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc b/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
1014index 9e56095..5bd902a 100644
1015--- a/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
1016+++ b/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc
1017@@ -2,7 +2,6 @@
1018 // { dg-options " -std=gnu++11 -pthread" { target *-*-linux* *-*-gnu* } }
1019 // { dg-require-cstdint "" }
1020 // { dg-require-gthreads "" }
1021-// { dg-require-atomic-builtins "" }
1022
1023 // Copyright (C) 2014-2016 Free Software Foundation, Inc.
1024 //
1025diff --git a/libstdc++-v3/testsuite/30_threads/async/launch.cc b/libstdc++-v3/testsuite/30_threads/async/launch.cc
1026index 3b04f88..aa789f2 100644
1027--- a/libstdc++-v3/testsuite/30_threads/async/launch.cc
1028+++ b/libstdc++-v3/testsuite/30_threads/async/launch.cc
1029@@ -4,7 +4,6 @@
1030 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1031 // { dg-require-cstdint "" }
1032 // { dg-require-gthreads "" }
1033-// { dg-require-atomic-builtins "" }
1034
1035 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
1036 //
1037diff --git a/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc b/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
1038index ea21083..fb2ca6a 100644
1039--- a/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
1040+++ b/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc
1041@@ -21,7 +21,6 @@
1042 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1043 // { dg-require-cstdint "" }
1044 // { dg-require-gthreads "" }
1045-// { dg-require-atomic-builtins "" }
1046
1047 // LWG 2021. Further incorrect usages of result_of
1048 // Arguments to result_of should use decay.
1049diff --git a/libstdc++-v3/testsuite/30_threads/async/sync.cc b/libstdc++-v3/testsuite/30_threads/async/sync.cc
1050index b2f7588..80de8e1 100644
1051--- a/libstdc++-v3/testsuite/30_threads/async/sync.cc
1052+++ b/libstdc++-v3/testsuite/30_threads/async/sync.cc
1053@@ -4,7 +4,6 @@
1054 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1055 // { dg-require-cstdint "" }
1056 // { dg-require-gthreads "" }
1057-// { dg-require-atomic-builtins "" }
1058
1059 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1060 //
1061diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
1062index 5eded61..a5e52ea 100644
1063--- a/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
1064+++ b/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc
1065@@ -2,7 +2,6 @@
1066 // { dg-options "-std=gnu++11" }
1067 // { dg-require-cstdint "" }
1068 // { dg-require-gthreads "" }
1069-// { dg-require-atomic-builtins "" }
1070
1071 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1072 //
1073diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc b/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
1074index ebfacee..96d8f63 100644
1075--- a/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
1076+++ b/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc
1077@@ -2,7 +2,6 @@
1078 // { dg-options "-std=gnu++11 -fno-inline -g0" }
1079 // { dg-require-cstdint "" }
1080 // { dg-require-gthreads "" }
1081-// { dg-require-atomic-builtins "" }
1082 // { dg-final { scan-assembler-not "_ZNSt6futureIvEC2Ev" } }
1083 // { dg-final { scan-assembler-not "_ZNSt6futureIiEC2Ev" } }
1084
1085diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
1086index 5146eb8..f92d157 100644
1087--- a/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
1088+++ b/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc
1089@@ -2,7 +2,6 @@
1090 // { dg-options "-std=gnu++11" }
1091 // { dg-require-cstdint "" }
1092 // { dg-require-gthreads "" }
1093-// { dg-require-atomic-builtins "" }
1094
1095 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1096 //
1097diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/default.cc b/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
1098index bd22ff1..c46df93 100644
1099--- a/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
1100+++ b/libstdc++-v3/testsuite/30_threads/future/cons/default.cc
1101@@ -1,7 +1,6 @@
1102 // { dg-options "-std=gnu++11" }
1103 // { dg-require-cstdint "" }
1104 // { dg-require-gthreads "" }
1105-// { dg-require-atomic-builtins "" }
1106
1107 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1108 //
1109diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/move.cc b/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
1110index 1f92177..157a0d3 100644
1111--- a/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
1112+++ b/libstdc++-v3/testsuite/30_threads/future/cons/move.cc
1113@@ -4,7 +4,6 @@
1114 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1115 // { dg-require-cstdint "" }
1116 // { dg-require-gthreads "" }
1117-// { dg-require-atomic-builtins "" }
1118
1119 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1120 //
1121diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
1122index 21b9a09..c1f204a 100644
1123--- a/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
1124+++ b/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc
1125@@ -1,7 +1,6 @@
1126 // { dg-options "-std=gnu++11" }
1127 // { dg-require-cstdint "" }
1128 // { dg-require-gthreads "" }
1129-// { dg-require-atomic-builtins "" }
1130
1131 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1132 //
1133diff --git a/libstdc++-v3/testsuite/30_threads/future/members/45133.cc b/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
1134index 35fbdb7..d013bf0 100644
1135--- a/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
1136+++ b/libstdc++-v3/testsuite/30_threads/future/members/45133.cc
1137@@ -4,7 +4,6 @@
1138 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1139 // { dg-require-cstdint "" }
1140 // { dg-require-gthreads "" }
1141-// { dg-require-atomic-builtins "" }
1142
1143 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1144 //
1145diff --git a/libstdc++-v3/testsuite/30_threads/future/members/get.cc b/libstdc++-v3/testsuite/30_threads/future/members/get.cc
1146index 984fbe3..4d84396 100644
1147--- a/libstdc++-v3/testsuite/30_threads/future/members/get.cc
1148+++ b/libstdc++-v3/testsuite/30_threads/future/members/get.cc
1149@@ -4,7 +4,6 @@
1150 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1151 // { dg-require-cstdint "" }
1152 // { dg-require-gthreads "" }
1153-// { dg-require-atomic-builtins "" }
1154
1155 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1156 //
1157diff --git a/libstdc++-v3/testsuite/30_threads/future/members/get2.cc b/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
1158index e8683f8..c3cacdf 100644
1159--- a/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
1160+++ b/libstdc++-v3/testsuite/30_threads/future/members/get2.cc
1161@@ -4,7 +4,6 @@
1162 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1163 // { dg-require-cstdint "" }
1164 // { dg-require-gthreads "" }
1165-// { dg-require-atomic-builtins "" }
1166
1167 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1168 //
1169diff --git a/libstdc++-v3/testsuite/30_threads/future/members/share.cc b/libstdc++-v3/testsuite/30_threads/future/members/share.cc
1170index 0992fc0..96662fd 100644
1171--- a/libstdc++-v3/testsuite/30_threads/future/members/share.cc
1172+++ b/libstdc++-v3/testsuite/30_threads/future/members/share.cc
1173@@ -4,7 +4,6 @@
1174 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1175 // { dg-require-cstdint "" }
1176 // { dg-require-gthreads "" }
1177-// { dg-require-atomic-builtins "" }
1178
1179 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
1180 //
1181diff --git a/libstdc++-v3/testsuite/30_threads/future/members/valid.cc b/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
1182index 2bb9b11..4b56fe5 100644
1183--- a/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
1184+++ b/libstdc++-v3/testsuite/30_threads/future/members/valid.cc
1185@@ -4,7 +4,6 @@
1186 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1187 // { dg-require-cstdint "" }
1188 // { dg-require-gthreads "" }
1189-// { dg-require-atomic-builtins "" }
1190
1191 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1192 //
1193diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
1194index 7782871..1b4134e 100644
1195--- a/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
1196+++ b/libstdc++-v3/testsuite/30_threads/future/members/wait.cc
1197@@ -4,7 +4,6 @@
1198 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1199 // { dg-require-cstdint "" }
1200 // { dg-require-gthreads "" }
1201-// { dg-require-atomic-builtins "" }
1202
1203 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1204 //
1205diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
1206index b7bd874..77f9c38 100644
1207--- a/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
1208+++ b/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc
1209@@ -4,7 +4,6 @@
1210 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1211 // { dg-require-cstdint "" }
1212 // { dg-require-gthreads "" }
1213-// { dg-require-atomic-builtins "" }
1214
1215 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1216 //
1217diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
1218index 1ce7118..816411f 100644
1219--- a/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
1220+++ b/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc
1221@@ -4,7 +4,6 @@
1222 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1223 // { dg-require-cstdint "" }
1224 // { dg-require-gthreads "" }
1225-// { dg-require-atomic-builtins "" }
1226
1227 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1228 //
1229diff --git a/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
1230index 95ddf4d..8ab100a 100644
1231--- a/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
1232+++ b/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc
1233@@ -2,7 +2,6 @@
1234 // { dg-options "-std=gnu++11" }
1235 // { dg-require-cstdint "" }
1236 // { dg-require-gthreads "" }
1237-// { dg-require-atomic-builtins "" }
1238
1239 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1240 //
1241diff --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
1242index ccd85ab..c596685 100644
1243--- a/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
1244+++ b/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc
1245@@ -2,7 +2,6 @@
1246 // { dg-options "-std=gnu++11" }
1247 // { dg-require-cstdint "" }
1248 // { dg-require-gthreads "" }
1249-// { dg-require-atomic-builtins "" }
1250
1251 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1252 //
1253diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
1254index 46ab3d5..a492de1 100644
1255--- a/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
1256+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc
1257@@ -4,7 +4,6 @@
1258 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1259 // { dg-require-cstdint "" }
1260 // { dg-require-gthreads "" }
1261-// { dg-require-atomic-builtins "" }
1262
1263 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
1264 //
1265diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
1266index 6021fdb..bc828cb 100644
1267--- a/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
1268+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc
1269@@ -4,7 +4,6 @@
1270 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1271 // { dg-require-cstdint "" }
1272 // { dg-require-gthreads "" }
1273-// { dg-require-atomic-builtins "" }
1274
1275 // Copyright (C) 2014-2016 Free Software Foundation, Inc.
1276 //
1277diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
1278index 919f136..45ede56 100644
1279--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
1280+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc
1281@@ -4,7 +4,6 @@
1282 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1283 // { dg-require-cstdint "" }
1284 // { dg-require-gthreads "" }
1285-// { dg-require-atomic-builtins "" }
1286
1287 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1288 //
1289diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
1290index 0611d8a..ff53be1 100644
1291--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
1292+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc
1293@@ -4,7 +4,6 @@
1294 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1295 // { dg-require-cstdint "" }
1296 // { dg-require-gthreads "" }
1297-// { dg-require-atomic-builtins "" }
1298
1299 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1300 //
1301diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
1302index 11203d5..a08a85e 100644
1303--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
1304+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc
1305@@ -4,7 +4,6 @@
1306 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1307 // { dg-require-cstdint "" }
1308 // { dg-require-gthreads "" }
1309-// { dg-require-atomic-builtins "" }
1310
1311 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
1312 //
1313diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
1314index 0338f98..48de913 100644
1315--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
1316+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc
1317@@ -4,7 +4,6 @@
1318 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1319 // { dg-require-cstdint "" }
1320 // { dg-require-gthreads "" }
1321-// { dg-require-atomic-builtins "" }
1322
1323 // Copyright (C) 2013-2016 Free Software Foundation, Inc.
1324 //
1325diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
1326index 83c5d9f..640d269 100644
1327--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
1328+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc
1329@@ -4,7 +4,6 @@
1330 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1331 // { dg-require-cstdint "" }
1332 // { dg-require-gthreads "" }
1333-// { dg-require-atomic-builtins "" }
1334
1335 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1336 //
1337diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
1338index b53fd8d..ea9b147 100644
1339--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
1340+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc
1341@@ -2,7 +2,6 @@
1342 // { dg-options "-std=gnu++11" }
1343 // { dg-require-cstdint "" }
1344 // { dg-require-gthreads "" }
1345-// { dg-require-atomic-builtins "" }
1346
1347 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
1348 //
1349diff --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
1350index deacad1..ca22639 100644
1351--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
1352+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
1353@@ -2,7 +2,6 @@
1354 // { dg-options "-std=gnu++11" }
1355 // { dg-require-cstdint "" }
1356 // { dg-require-gthreads "" }
1357-// { dg-require-atomic-builtins "" }
1358
1359 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
1360 //
1361diff --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
1362index dd40133..4517dc4 100644
1363--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
1364+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
1365@@ -2,7 +2,6 @@
1366 // { dg-options "-std=gnu++11" }
1367 // { dg-require-cstdint "" }
1368 // { dg-require-gthreads "" }
1369-// { dg-require-atomic-builtins "" }
1370
1371 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1372 //
1373diff --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
1374index a4e47fd..0b7356d 100644
1375--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
1376+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
1377@@ -2,7 +2,6 @@
1378 // { dg-options "-std=gnu++11" }
1379 // { dg-require-cstdint "" }
1380 // { dg-require-gthreads "" }
1381-// { dg-require-atomic-builtins "" }
1382
1383 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1384 //
1385diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
1386index cb1d8e0..99c2123 100644
1387--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
1388+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc
1389@@ -4,7 +4,6 @@
1390 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1391 // { dg-require-cstdint "" }
1392 // { dg-require-gthreads "" }
1393-// { dg-require-atomic-builtins "" }
1394
1395 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1396 //
1397diff --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
1398index 8025dbf..ed4bec5 100644
1399--- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
1400+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc
1401@@ -4,7 +4,6 @@
1402 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1403 // { dg-require-cstdint "" }
1404 // { dg-require-gthreads "" }
1405-// { dg-require-atomic-builtins "" }
1406
1407 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1408 //
1409diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
1410index 13be918..2c2c85c 100644
1411--- a/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
1412+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc
1413@@ -2,7 +2,6 @@
1414 // { dg-options " -std=gnu++11 -pthread" { target *-*-linux* *-*-gnu* } }
1415 // { dg-require-cstdint "" }
1416 // { dg-require-gthreads "" }
1417-// { dg-require-atomic-builtins "" }
1418
1419 // Copyright (C) 2014-2016 Free Software Foundation, Inc.
1420 //
1421diff --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
1422index b217090..76dfee9 100644
1423--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
1424+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc
1425@@ -4,7 +4,6 @@
1426 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1427 // { dg-require-cstdint "" }
1428 // { dg-require-gthreads "" }
1429-// { dg-require-atomic-builtins "" }
1430
1431 // Copyright (C) 2014-2016 Free Software Foundation, Inc.
1432 //
1433diff --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
1434index 5fab0de..a5aa5c2 100644
1435--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
1436+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc
1437@@ -4,7 +4,6 @@
1438 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1439 // { dg-require-cstdint "" }
1440 // { dg-require-gthreads "" }
1441-// { dg-require-atomic-builtins "" }
1442
1443 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1444 //
1445diff --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
1446index a343772..68f4e8d 100644
1447--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
1448+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc
1449@@ -4,7 +4,6 @@
1450 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1451 // { dg-require-cstdint "" }
1452 // { dg-require-gthreads "" }
1453-// { dg-require-atomic-builtins "" }
1454
1455 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1456 //
1457diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
1458index 5e4c038..8d2955e 100644
1459--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
1460+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc
1461@@ -4,7 +4,6 @@
1462 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1463 // { dg-require-cstdint "" }
1464 // { dg-require-gthreads "" }
1465-// { dg-require-atomic-builtins "" }
1466
1467 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1468 //
1469diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
1470index 3a3d3a3..b003fb7 100644
1471--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
1472+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc
1473@@ -4,7 +4,6 @@
1474 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1475 // { dg-require-cstdint "" }
1476 // { dg-require-gthreads "" }
1477-// { dg-require-atomic-builtins "" }
1478
1479 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1480 //
1481diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
1482index a56a895..07dd695 100644
1483--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
1484+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc
1485@@ -4,7 +4,6 @@
1486 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1487 // { dg-require-cstdint "" }
1488 // { dg-require-gthreads "" }
1489-// { dg-require-atomic-builtins "" }
1490
1491 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1492 //
1493diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
1494index 080a9a8..012fea3 100644
1495--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
1496+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc
1497@@ -4,7 +4,6 @@
1498 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1499 // { dg-require-cstdint "" }
1500 // { dg-require-gthreads "" }
1501-// { dg-require-atomic-builtins "" }
1502
1503 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1504 //
1505diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
1506index be90276..7dfb177 100644
1507--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
1508+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc
1509@@ -4,7 +4,6 @@
1510 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1511 // { dg-require-cstdint "" }
1512 // { dg-require-gthreads "" }
1513-// { dg-require-atomic-builtins "" }
1514
1515 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1516 //
1517diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
1518index c7cb184..f08ed64 100644
1519--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
1520+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc
1521@@ -4,7 +4,6 @@
1522 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1523 // { dg-require-cstdint "" }
1524 // { dg-require-gthreads "" }
1525-// { dg-require-atomic-builtins "" }
1526
1527 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1528 //
1529diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
1530index aade3db..09597e3 100644
1531--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
1532+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc
1533@@ -4,7 +4,6 @@
1534 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1535 // { dg-require-cstdint "" }
1536 // { dg-require-gthreads "" }
1537-// { dg-require-atomic-builtins "" }
1538
1539 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1540 //
1541diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
1542index d61256b..975db20 100644
1543--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
1544+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc
1545@@ -4,7 +4,6 @@
1546 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1547 // { dg-require-cstdint "" }
1548 // { dg-require-gthreads "" }
1549-// { dg-require-atomic-builtins "" }
1550
1551 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1552 //
1553diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
1554index 047ffeb..e11411b 100644
1555--- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
1556+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc
1557@@ -4,7 +4,6 @@
1558 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1559 // { dg-require-cstdint "" }
1560 // { dg-require-gthreads "" }
1561-// { dg-require-atomic-builtins "" }
1562
1563 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
1564 //
1565diff --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
1566index 7b7e0f5..37e0676 100644
1567--- a/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
1568+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc
1569@@ -2,7 +2,6 @@
1570 // { dg-options "-std=gnu++11" }
1571 // { dg-require-cstdint "" }
1572 // { dg-require-gthreads "" }
1573-// { dg-require-atomic-builtins "" }
1574
1575 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1576 //
1577diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
1578index 1c31673..733ed8b 100644
1579--- a/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
1580+++ b/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc
1581@@ -2,7 +2,6 @@
1582 // { dg-options "-std=gnu++11" }
1583 // { dg-require-cstdint "" }
1584 // { dg-require-gthreads "" }
1585-// { dg-require-atomic-builtins "" }
1586
1587 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
1588 //
1589diff --git a/libstdc++-v3/testsuite/30_threads/promise/60966.cc b/libstdc++-v3/testsuite/30_threads/promise/60966.cc
1590index 663075a..37fb84a 100644
1591--- a/libstdc++-v3/testsuite/30_threads/promise/60966.cc
1592+++ b/libstdc++-v3/testsuite/30_threads/promise/60966.cc
1593@@ -4,7 +4,6 @@
1594 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1595 // { dg-require-cstdint "" }
1596 // { dg-require-gthreads "" }
1597-// { dg-require-atomic-builtins "" }
1598
1599 // Copyright (C) 2014-2016 Free Software Foundation, Inc.
1600 //
1601diff --git a/libstdc++-v3/testsuite/30_threads/promise/69106.cc b/libstdc++-v3/testsuite/30_threads/promise/69106.cc
1602index 921ded1..7130a18 100644
1603--- a/libstdc++-v3/testsuite/30_threads/promise/69106.cc
1604+++ b/libstdc++-v3/testsuite/30_threads/promise/69106.cc
1605@@ -19,7 +19,6 @@
1606 // { dg-options "-std=gnu++11" }
1607 // { dg-require-cstdint "" }
1608 // { dg-require-gthreads "" }
1609-// { dg-require-atomic-builtins "" }
1610
1611 #include <future>
1612
1613diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
1614index 1258483..873d26f 100644
1615--- a/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
1616+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc
1617@@ -4,7 +4,6 @@
1618 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1619 // { dg-require-cstdint "" }
1620 // { dg-require-gthreads "" }
1621-// { dg-require-atomic-builtins "" }
1622
1623 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1624 //
1625diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
1626index f35b2b7..ca1686c 100644
1627--- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
1628+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc
1629@@ -4,7 +4,6 @@
1630 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1631 // { dg-require-cstdint "" }
1632 // { dg-require-gthreads "" }
1633-// { dg-require-atomic-builtins "" }
1634
1635 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1636 //
1637diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
1638index c881fc1..a4465c8 100644
1639--- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
1640+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc
1641@@ -2,7 +2,6 @@
1642 // { dg-options "-std=gnu++11" }
1643 // { dg-require-cstdint "" }
1644 // { dg-require-gthreads "" }
1645-// { dg-require-atomic-builtins "" }
1646
1647 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
1648 //
1649diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
1650index 4c8b24b..fac06a2 100644
1651--- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
1652+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc
1653@@ -2,7 +2,6 @@
1654 // { dg-options "-std=gnu++11" }
1655 // { dg-require-cstdint "" }
1656 // { dg-require-gthreads "" }
1657-// { dg-require-atomic-builtins "" }
1658
1659 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
1660 //
1661diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
1662index 018bac3..b4f09e7 100644
1663--- a/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
1664+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc
1665@@ -2,7 +2,6 @@
1666 // { dg-options "-std=gnu++11" }
1667 // { dg-require-cstdint "" }
1668 // { dg-require-gthreads "" }
1669-// { dg-require-atomic-builtins "" }
1670
1671 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1672 //
1673diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
1674index d0386e2..f359a07 100644
1675--- a/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
1676+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc
1677@@ -2,7 +2,6 @@
1678 // { dg-options "-std=gnu++11" }
1679 // { dg-require-cstdint "" }
1680 // { dg-require-gthreads "" }
1681-// { dg-require-atomic-builtins "" }
1682
1683 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1684 //
1685diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
1686index c1699e4..b1f4b52 100644
1687--- a/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
1688+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc
1689@@ -4,7 +4,6 @@
1690 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1691 // { dg-require-cstdint "" }
1692 // { dg-require-gthreads "" }
1693-// { dg-require-atomic-builtins "" }
1694
1695 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1696 //
1697diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
1698index 68debd5..1845298 100644
1699--- a/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
1700+++ b/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc
1701@@ -4,7 +4,6 @@
1702 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1703 // { dg-require-cstdint "" }
1704 // { dg-require-gthreads "" }
1705-// { dg-require-atomic-builtins "" }
1706
1707 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1708 //
1709diff --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
1710index 1c8469a..b3f8bba 100644
1711--- a/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
1712+++ b/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc
1713@@ -4,7 +4,6 @@
1714 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1715 // { dg-require-cstdint "" }
1716 // { dg-require-gthreads "" }
1717-// { dg-require-atomic-builtins "" }
1718
1719 // Copyright (C) 2014-2016 Free Software Foundation, Inc.
1720 //
1721diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc b/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
1722index 44c9205..2ec33c7 100644
1723--- a/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
1724+++ b/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc
1725@@ -4,7 +4,6 @@
1726 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1727 // { dg-require-cstdint "" }
1728 // { dg-require-gthreads "" }
1729-// { dg-require-atomic-builtins "" }
1730
1731 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1732 //
1733diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
1734index 56c3107..fac6267 100644
1735--- a/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
1736+++ b/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc
1737@@ -4,7 +4,6 @@
1738 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1739 // { dg-require-cstdint "" }
1740 // { dg-require-gthreads "" }
1741-// { dg-require-atomic-builtins "" }
1742
1743 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1744 //
1745diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
1746index b753c24..bdc0944 100644
1747--- a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
1748+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc
1749@@ -4,7 +4,6 @@
1750 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1751 // { dg-require-cstdint "" }
1752 // { dg-require-gthreads "" }
1753-// { dg-require-atomic-builtins "" }
1754
1755 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1756 //
1757diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
1758index d9850ca..49023cf 100644
1759--- a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
1760+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc
1761@@ -4,7 +4,6 @@
1762 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1763 // { dg-require-cstdint "" }
1764 // { dg-require-gthreads "" }
1765-// { dg-require-atomic-builtins "" }
1766
1767 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1768 //
1769diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
1770index a50a7b8..c29788b 100644
1771--- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
1772+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc
1773@@ -4,7 +4,6 @@
1774 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1775 // { dg-require-cstdint "" }
1776 // { dg-require-gthreads "" }
1777-// { dg-require-atomic-builtins "" }
1778
1779 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1780 //
1781diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
1782index 9c308c5..5306644 100644
1783--- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
1784+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc
1785@@ -4,7 +4,6 @@
1786 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1787 // { dg-require-cstdint "" }
1788 // { dg-require-gthreads "" }
1789-// { dg-require-atomic-builtins "" }
1790
1791 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1792 //
1793diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
1794index 16f2b3d..1f170cb 100644
1795--- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
1796+++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc
1797@@ -4,7 +4,6 @@
1798 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1799 // { dg-require-cstdint "" }
1800 // { dg-require-gthreads "" }
1801-// { dg-require-atomic-builtins "" }
1802
1803 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1804 //
1805diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc b/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
1806index 834ce97..4a467d0 100644
1807--- a/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
1808+++ b/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc
1809@@ -4,7 +4,6 @@
1810 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1811 // { dg-require-cstdint "" }
1812 // { dg-require-gthreads "" }
1813-// { dg-require-atomic-builtins "" }
1814
1815 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1816 //
1817diff --git a/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
1818index 1f7fb88..e30a63f 100644
1819--- a/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
1820+++ b/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc
1821@@ -2,7 +2,6 @@
1822 // { dg-options "-std=gnu++11" }
1823 // { dg-require-cstdint "" }
1824 // { dg-require-gthreads "" }
1825-// { dg-require-atomic-builtins "" }
1826
1827 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1828 //
1829diff --git a/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc b/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
1830index e9ded97..0aef18e 100644
1831--- a/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
1832+++ b/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc
1833@@ -2,7 +2,6 @@
1834 // { dg-options "-std=gnu++11" }
1835 // { dg-require-cstdint "" }
1836 // { dg-require-gthreads "" }
1837-// { dg-require-atomic-builtins "" }
1838
1839 // Copyright (C) 2011-2016 Free Software Foundation, Inc.
1840 //
1841diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
1842index d0dd9ca..d27fc95 100644
1843--- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
1844+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc
1845@@ -1,7 +1,6 @@
1846 // { dg-options "-std=gnu++11" }
1847 // { dg-require-cstdint "" }
1848 // { dg-require-gthreads "" }
1849-// { dg-require-atomic-builtins "" }
1850
1851 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1852 //
1853diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
1854index f82e280..8cf6e38 100644
1855--- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
1856+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc
1857@@ -2,7 +2,6 @@
1858 // { dg-options "-std=gnu++11 -fno-inline -g0" }
1859 // { dg-require-cstdint "" }
1860 // { dg-require-gthreads "" }
1861-// { dg-require-atomic-builtins "" }
1862 // { dg-final { scan-assembler-not "_ZNSt13shared_futureIvEC2Ev" } }
1863 // { dg-final { scan-assembler-not "_ZNSt13shared_futureIiEC2Ev" } }
1864
1865diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
1866index 61985d8..1448d6c 100644
1867--- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
1868+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc
1869@@ -2,7 +2,6 @@
1870 // { dg-options "-std=gnu++11" }
1871 // { dg-require-cstdint "" }
1872 // { dg-require-gthreads "" }
1873-// { dg-require-atomic-builtins "" }
1874
1875 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1876 //
1877diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
1878index d4a8b67..51d22e8 100644
1879--- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
1880+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc
1881@@ -1,7 +1,6 @@
1882 // { dg-options "-std=gnu++11" }
1883 // { dg-require-cstdint "" }
1884 // { dg-require-gthreads "" }
1885-// { dg-require-atomic-builtins "" }
1886
1887 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1888 //
1889diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
1890index 2017f48..ecb9dc4 100644
1891--- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
1892+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc
1893@@ -4,7 +4,6 @@
1894 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1895 // { dg-require-cstdint "" }
1896 // { dg-require-gthreads "" }
1897-// { dg-require-atomic-builtins "" }
1898
1899 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1900 //
1901diff --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
1902index 05852d0..adb9ccd3 100644
1903--- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
1904+++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc
1905@@ -1,7 +1,6 @@
1906 // { dg-options "-std=gnu++11" }
1907 // { dg-require-cstdint "" }
1908 // { dg-require-gthreads "" }
1909-// { dg-require-atomic-builtins "" }
1910
1911 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1912 //
1913diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
1914index e9f1566..3e125c6 100644
1915--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
1916+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc
1917@@ -4,7 +4,6 @@
1918 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1919 // { dg-require-cstdint "" }
1920 // { dg-require-gthreads "" }
1921-// { dg-require-atomic-builtins "" }
1922
1923 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1924 //
1925diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
1926index cfbb83a..dfd60ef 100644
1927--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
1928+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc
1929@@ -4,7 +4,6 @@
1930 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1931 // { dg-require-cstdint "" }
1932 // { dg-require-gthreads "" }
1933-// { dg-require-atomic-builtins "" }
1934
1935 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1936 //
1937diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
1938index 1d5a807..7db5d4d 100644
1939--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
1940+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc
1941@@ -4,7 +4,6 @@
1942 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1943 // { dg-require-cstdint "" }
1944 // { dg-require-gthreads "" }
1945-// { dg-require-atomic-builtins "" }
1946
1947 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1948 //
1949diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
1950index 25cd342..80d43b4 100644
1951--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
1952+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc
1953@@ -4,7 +4,6 @@
1954 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1955 // { dg-require-cstdint "" }
1956 // { dg-require-gthreads "" }
1957-// { dg-require-atomic-builtins "" }
1958
1959 // Copyright (C) 2010-2016 Free Software Foundation, Inc.
1960 //
1961diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
1962index d4aef51..46bc01e 100644
1963--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
1964+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc
1965@@ -4,7 +4,6 @@
1966 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1967 // { dg-require-cstdint "" }
1968 // { dg-require-gthreads "" }
1969-// { dg-require-atomic-builtins "" }
1970
1971 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1972 //
1973diff --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
1974index 929ba87..15bfd1b 100644
1975--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
1976+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc
1977@@ -4,7 +4,6 @@
1978 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1979 // { dg-require-cstdint "" }
1980 // { dg-require-gthreads "" }
1981-// { dg-require-atomic-builtins "" }
1982
1983 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1984 //
1985diff --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
1986index 52d045d..eebacdd 100644
1987--- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
1988+++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc
1989@@ -4,7 +4,6 @@
1990 // { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-rtems* *-*-darwin* } }
1991 // { dg-require-cstdint "" }
1992 // { dg-require-gthreads "" }
1993-// { dg-require-atomic-builtins "" }
1994
1995 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
1996 //
1997diff --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
1998index 767131e..69b6a5c 100644
1999--- a/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
2000+++ b/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc
2001@@ -2,7 +2,6 @@
2002 // { dg-options "-std=gnu++11" }
2003 // { dg-require-cstdint "" }
2004 // { dg-require-gthreads "" }
2005-// { dg-require-atomic-builtins "" }
2006
2007 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
2008 //
2009--
20102.7.4
2011