From patchwork Tue Jan 3 15:32:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Wakely X-Patchwork-Id: 89678 Delivered-To: patch@linaro.org Received: by 10.140.20.101 with SMTP id 92csp8057286qgi; Tue, 3 Jan 2017 07:33:03 -0800 (PST) X-Received: by 10.99.8.133 with SMTP id 127mr118283664pgi.76.1483457583826; Tue, 03 Jan 2017 07:33:03 -0800 (PST) Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id r11si69337297pfk.40.2017.01.03.07.33.03 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 03 Jan 2017 07:33:03 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-return-445240-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org; spf=pass (google.com: domain of gcc-patches-return-445240-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-445240-patch=linaro.org@gcc.gnu.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; q=dns; s=default; b=ZQCSOhWNRjgdO7HOm /pBhHi9FjnQXx0iuzLurZBMPiVA+vwhqP4rxLumP+UiimDPylbXPokoAZqXPA3hN XnWJj4aInWctBYdSeVzklYUuGwm0steOw0/PVsk+yO/Dmzl6KRRGSKuMy3Fqtvi6 X+QfEOAWEZEDh4uoOPKuTHm2EE= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=default; bh=4cZWkoldZ1Djafy++807GWP dtFQ=; b=CPKRtNg1q49HPVsTWf6rqcZoDSnOiygDsntio7ygloDef2ZcKr5/CzO rnhp7qhOBY4ZuRwxc8bXSvn64J3psr1AXM/Ncqd4COQAovp7+pVkaEscUOJ7feN3 ABFyyKfrFrMmwjHRmfnMuW17PfnbFimU8Ym0vNoKtIS8X+WSJomI= Received: (qmail 75739 invoked by alias); 3 Jan 2017 15:32:41 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 75715 invoked by uid 89); 3 Jan 2017 15:32:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=BAYES_50, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Future, defaultcc, UD:default.cc, typeinfo X-Spam-User: qpsmtpd, 2 recipients X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 03 Jan 2017 15:32:27 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3A39783F3E; Tue, 3 Jan 2017 15:32:27 +0000 (UTC) Received: from localhost (ovpn-116-51.ams2.redhat.com [10.36.116.51]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v03FWP9A003674; Tue, 3 Jan 2017 10:32:26 -0500 Date: Tue, 3 Jan 2017 15:32:24 +0000 From: Jonathan Wakely To: Pauli Cc: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: Re: [PATCH] libstdc++: Allow using without lock free atomic int Message-ID: <20170103153224.GF895@redhat.com> References: <20161109212623.2488-1-suokkos@gmail.com> <20161216175257.GG895@redhat.com> <20161219175227.GP895@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20161219175227.GP895@redhat.com> X-Clacks-Overhead: GNU Terry Pratchett User-Agent: Mutt/1.7.1 (2016-10-04) On 19/12/16 17:52 +0000, Jonathan Wakely wrote: >On 16/12/16 17:52 +0000, Jonathan Wakely wrote: >>On 09/11/16 23:26 +0200, Pauli wrote: >>>Compiling programs using std::future for old arm processors fails. The >>>problem is caused by preprocessor check for atomic lock free int. >>> >>>Future can be changed to work correctly without lock free atomics with >>>minor changes to exception_ptr implementation. >>> >>>Without lock free atomics there is question if deadlock can happen. But >>>atomic operations can't call outside code preventing any ABBA or >>>recursive mutex acquiring deadlocks. >>>Deadlock could happen if throwing an exception or access >>>is_lock_free() == false atomic from asynchronous signal handler. >>>Throwing from signal handler is undefined behavior. I don't know about >>>accessing atomics from asynchronous signal handler but that feels like >>>undefined behavior if is_lock_free returns false. >>> >>>Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735 >>> >>>differences to current if atomic builtins available: >>>* Race detector annotations that are empty by default >>>* Check for __gthread_active_p >>>* Generate x86 code uses xadd instead of xsub >>>This makes code a bit worse. But problem is duplicated to any other user >>>of __exchange_and_add. The internal API implementation should be fixed >>>to generate better code for all cases. But that is a follow up patch. >> >>I'd prefer to do it so we don't change anything for the targets that >>already work. Your follow-up patch missed the deadline for GCC 7 and >>so will have to wait for GCC 8 now, and we don't want to pessimize >>x86. >> >>Also, I think your patch actually breaks some GNU/Linux targets, >>because you removed the header from >>, which means that in libsupc++/guard.cc the macro >>ATOMIC_INT_LOCK_FREE is no longer defined, and so _GLIBCXX_USE_FUTEX >>doesn't get defined. Now arguably guard.cc should have been including >>the header directly, but it still shows why such an invasive patch is >>a bad idea at this stage of the GCC 7 process. >> >>The attached patch attempts to make exception propagation work for all >>targets, without changing anything if it already works. >> >>Do you see any problems with this alternative approach? >>Could you please test it for armv5te? >> >>It passes all tests for x86_64-linux and ppc64le-linux. >> >>For your follow-up patch, do you already have a copyright assignment >>for contributions to GCC? We'll probably need that before it can be >>accepted. We don't need one for this patch, because what remains of >>your original patch is just the testsuite changes, which are >>mechanical and not copyrightable. > >We also need to adjust the linker script to avoid adding new exports >to old symbol versions, revised patch attached. I think it would be >better to make configure define a macro like >HAVE_EXCEPTION_PTR_SINCE_GCC6 and use that in the linker script >instead of testing __GCC_ATOMIC_INT_LOCK_FREE directly. I'll work on >that. Here's what I plan to commit to trunk tomorrow. commit fa070e976709218d9927e2ed880bd29f7f98106f Author: Jonathan Wakely Date: Fri Dec 16 15:22:21 2016 +0000 Support exception propagation without lock-free atomic int 2017-01-03 Pauli Nieminen Jonathan Wakely PR libstdc++/64735 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define. * config.h.in: Regenerate. * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make exports for exception_ptr, nested_exception, and future conditional. [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add exports for exception_ptr, nested_exception, and future conditional. * configure: Regenerate. * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER. * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE * libsupc++/eh_atomics.h: New file for internal use only. (__eh_atomic_inc, __eh_atomic_dec): New. * libsupc++/eh_ptr.cc (exception_ptr::_M_addref) (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup) (rethrow_exception): Use eh_atomics.h reference counting helpers. * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise. * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise. * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE. * libsupc++/exception_ptr.h: Likewise. * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro. * libsupc++/nested_exception.cc: Remove check for ATOMIC_INT_LOCK_FREE. * libsupc++/nested_exception.h: Likewise. * src/c++11/future.cc: Likewise. * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks. * testsuite/18_support/nested_exception/*: Likewise. * testsuite/30_threads/async/*: Likewise. * testsuite/30_threads/future/*: Likewise. * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise. * testsuite/30_threads/packaged_task/*: Likewise. * testsuite/30_threads/promise/*: Likewise. * testsuite/30_threads/shared_future/*: Likewise. diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index c88e473..a7e1c26 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -4480,6 +4480,43 @@ AC_DEFUN([GLIBCXX_CHECK_SIZE_T_MANGLING], [ [Define to the letter to which size_t is mangled.]) ]) +dnl +dnl Determine whether std::exception_ptr symbols should be exported with +dnl the symbol versions from GCC 4.6.0 or GCC 7.0.0, depending on which +dnl release first added support for std::exception_ptr. Originally it was +dnl only supported for targets with always-lock-free atomics for int, but +dnl since GCC 7.0 it is supported for all targets. +dnl +AC_DEFUN([GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER], [ + if test $enable_symvers != no; then + AC_MSG_CHECKING([for first version to support std::exception_ptr]) + case ${target} in + aarch64-*-* | alpha-*-* | hppa*-*-* | i?86-*-* | x86_64-*-* | \ + m68k-*-* | powerpc*-*-* | s390*-*-* | *-*-solaris* ) + ac_exception_ptr_since_gcc46=yes + ;; + *) + # If the value of this macro changes then we will need to hardcode + # yes/no here for additional targets based on the original value. + AC_TRY_COMPILE([], [ + #if __GCC_ATOMIC_INT_LOCK_FREE <= 1 + # error atomic int not always lock free + #endif + ], + [ac_exception_ptr_since_gcc46=yes], + [ac_exception_ptr_since_gcc46=no]) + ;; + esac + if test x"$ac_exception_ptr_since_gcc46" = x"yes" ; then + AC_DEFINE(HAVE_EXCEPTION_PTR_SINCE_GCC46, 1, + [Define to 1 if GCC 4.6 supported std::exception_ptr for the target]) + AC_MSG_RESULT([4.6.0]) + else + AC_MSG_RESULT([7.1.0]) + fi + fi +]) + # Macros from the top-level gcc directory. m4_include([../config/gc++filt.m4]) m4_include([../config/tls.m4]) diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in index 09ddfeb..41ad510 100644 --- a/libstdc++-v3/config.h.in +++ b/libstdc++-v3/config.h.in @@ -123,6 +123,9 @@ /* Define if EWOULDBLOCK exists. */ #undef HAVE_EWOULDBLOCK +/* Define to 1 if GCC 4.6 supported std::exception_ptr for the target */ +#undef HAVE_EXCEPTION_PTR_SINCE_GCC46 + /* Define to 1 if you have the header file. */ #undef HAVE_EXECINFO_H diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index 10bba01..3e6e70b 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -1503,6 +1503,9 @@ GLIBCXX_3.4.15 { _ZNSt14error_categoryC*; _ZNSt14error_categoryD*; +#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46 + # std::future symbols are only present in this version when + # atomic operations on int are always lock-free. _ZNSt13__future_base12_Result_baseC*; _ZNSt13__future_base12_Result_baseD*; _ZTINSt13__future_base12_Result_baseE; @@ -1511,6 +1514,7 @@ GLIBCXX_3.4.15 { _ZNSt13__future_base11_State_baseD*; _ZTINSt13__future_base11_State_baseE; _ZTVNSt13__future_base11_State_baseE; +#endif } GLIBCXX_3.4.14; @@ -1687,8 +1691,10 @@ GLIBCXX_3.4.21 { # std::notify_all_at_thread_exit _ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE; +#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46 # std::__future_base::_State_baseV2::_Make_ready::_M_set() _ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv; +#endif # ABI-tagged std::basic_string _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE1[01]**; @@ -1947,6 +1953,16 @@ GLIBCXX_3.4.23 { _ZNSsC[12]ERKSs[jmy]RKSaIcE; _ZNSbIwSt11char_traitsIwESaIwEEC[12]ERKS2_mRKS1_; +#ifndef HAVE_EXCEPTION_PTR_SINCE_GCC46 + # std::future symbols are exported in the first version to support + # std::exception_ptr + _ZNSt13__future_base12_Result_baseC*; + _ZNSt13__future_base12_Result_baseD*; + _ZTINSt13__future_base12_Result_baseE; + _ZTVNSt13__future_base12_Result_baseE; + _ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv; +#endif + } GLIBCXX_3.4.22; # Symbols in the support library (libsupc++) have their own tag. @@ -2080,6 +2096,7 @@ CXXABI_1.3.3 { _ZTIPDi; _ZTIPKDi; +#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46 # exception_ptr _ZNSt15__exception_ptr13exception_ptrC1Ev; _ZNSt15__exception_ptr13exception_ptrC2Ev; @@ -2099,6 +2116,7 @@ CXXABI_1.3.3 { _ZSt17current_exceptionv; _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE; +#endif } CXXABI_1.3.2; @@ -2129,10 +2147,12 @@ CXXABI_1.3.5 { # FNV hash. _ZSt15_Fnv_hash_bytesPKv*; +#ifdef HAVE_EXCEPTION_PTR_SINCE_GCC46 # std::nested_exception _ZNSt16nested_exceptionD*; _ZTISt16nested_exception; _ZTVSt16nested_exception; +#endif } CXXABI_1.3.4; @@ -2209,6 +2229,33 @@ CXXABI_1.3.11 { _ZdaPvSt11align_val_tRKSt9nothrow_t; _ZdaPv[jmy]St11align_val_t; +#ifndef HAVE_EXCEPTION_PTR_SINCE_GCC46 + # exception_ptr + _ZNSt15__exception_ptr13exception_ptrC1Ev; + _ZNSt15__exception_ptr13exception_ptrC2Ev; + _ZNSt15__exception_ptr13exception_ptrC1ERKS0_; + _ZNSt15__exception_ptr13exception_ptrC2ERKS0_; + _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE; + _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE; + _ZNSt15__exception_ptr13exception_ptrD1Ev; + _ZNSt15__exception_ptr13exception_ptrD2Ev; + _ZNSt15__exception_ptr13exception_ptraSERKS0_; + _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv; + _ZNKSt15__exception_ptr13exception_ptrntEv; + _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv; + _ZNSt15__exception_ptr13exception_ptr4swapERS0_; + _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_; + _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_; + + _ZSt17current_exceptionv; + _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE; + + # std::nested_exception + _ZNSt16nested_exceptionD*; + _ZTISt16nested_exception; + _ZTVSt16nested_exception; +#endif + } CXXABI_1.3.10; # Symbols in the support library (libsupc++) supporting transactional memory. diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index cbd77f0..be6763a 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -80664,6 +80664,55 @@ _ACEOF +# Check which release added std::exception_ptr for the target + + if test $enable_symvers != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for first version to support std::exception_ptr" >&5 +$as_echo_n "checking for first version to support std::exception_ptr... " >&6; } + case ${target} in + aarch64-*-* | alpha-*-* | hppa*-*-* | i?86-*-* | x86_64-*-* | \ + m68k-*-* | powerpc*-*-* | s390*-*-* | *-*-solaris* ) + ac_exception_ptr_since_gcc46=yes + ;; + *) + # If the value of this macro changes then we will need to hardcode + # yes/no here for additional targets based on the original value. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + #if __GCC_ATOMIC_INT_LOCK_FREE <= 1 + # error atomic int not always lock free + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_exception_ptr_since_gcc46=yes +else + ac_exception_ptr_since_gcc46=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + esac + if test x"$ac_exception_ptr_since_gcc46" = x"yes" ; then + +$as_echo "#define HAVE_EXCEPTION_PTR_SINCE_GCC46 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: 4.6.0" >&5 +$as_echo "4.6.0" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: 7.1.0" >&5 +$as_echo "7.1.0" >&6; } + fi + fi + + # Define documentation rules conditionally. # See if makeinfo has been installed and is modern enough diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index 7d0fafa..3d61771 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -419,6 +419,9 @@ GLIBCXX_CHECK_FILESYSTEM_DEPS # For Transactional Memory TS GLIBCXX_CHECK_SIZE_T_MANGLING +# Check which release added std::exception_ptr for the target +GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER + # Define documentation rules conditionally. # See if makeinfo has been installed and is modern enough diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future index 7897b6e..6351d7e 100644 --- a/libstdc++-v3/include/std/future +++ b/libstdc++-v3/include/std/future @@ -192,8 +192,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION future<__async_result_of<_Fn, _Args...>> async(_Fn&& __fn, _Args&&... __args); -#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \ - && (ATOMIC_INT_LOCK_FREE > 1) +#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) /// Base class and enclosing scope. struct __future_base @@ -1751,7 +1750,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif // _GLIBCXX_ASYNC_ABI_COMPAT #endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1 - // && ATOMIC_INT_LOCK_FREE // @} group futures _GLIBCXX_END_NAMESPACE_VERSION diff --git a/libstdc++-v3/libsupc++/eh_atomics.h b/libstdc++-v3/libsupc++/eh_atomics.h new file mode 100644 index 0000000..71b42a4 --- /dev/null +++ b/libstdc++-v3/libsupc++/eh_atomics.h @@ -0,0 +1,84 @@ +// Exception Handling support header for -*- C++ -*- + +// Copyright (C) 2016 Free Software Foundation, Inc. +// +// This file is part of GCC. +// +// GCC is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 3, or (at your option) +// any later version. +// +// GCC is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// Under Section 7 of GPL version 3, you are granted additional +// permissions described in the GCC Runtime Library Exception, version +// 3.1, as published by the Free Software Foundation. + +// You should have received a copy of the GNU General Public License and +// a copy of the GCC Runtime Library Exception along with this program; +// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +// . + +/** @file eh_atomics.h + * This is an internal header file, included by library source files. + * Do not attempt to use it directly. + */ + +#ifndef _EH_ATOMICS_H +#define _EH_ATOMICS_H 1 + +#include +#include +#include +#if ATOMIC_INT_LOCK_FREE <= 1 +# include +#endif + +#pragma GCC visibility push(default) +extern "C++" { +namespace __gnu_cxx +{ + void + __eh_atomic_inc (_Atomic_word* __count) __attribute__((always_inline)); + + bool + __eh_atomic_dec (_Atomic_word* __count) __attribute__((always_inline)); + + // Increments the count. + inline void + __eh_atomic_inc (_Atomic_word* __count) + { +#if ATOMIC_INT_LOCK_FREE > 1 + __atomic_add_fetch (__count, 1, __ATOMIC_ACQ_REL); +#else + _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE (__count); + __gnu_cxx::__atomic_add_dispatch (__count, 1); + _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER (__count); +#endif + } + + // Decrements the count and returns true if it reached zero. + inline bool + __eh_atomic_dec (_Atomic_word* __count) + { +#if ATOMIC_INT_LOCK_FREE > 1 + return __atomic_sub_fetch (__count, 1, __ATOMIC_ACQ_REL) == 0; +#else + _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE (__count); + if (__gnu_cxx::__exchange_and_add_dispatch (__count, -1) == 1) + { + _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER (__count); + return true; + } + return false; +#endif + } +} // namespace __gnu_cxx +} +#pragma GCC visibility pop + +#endif // _EH_ATOMICS_H diff --git a/libstdc++-v3/libsupc++/eh_ptr.cc b/libstdc++-v3/libsupc++/eh_ptr.cc index 1308ff9..12d8d70 100644 --- a/libstdc++-v3/libsupc++/eh_ptr.cc +++ b/libstdc++-v3/libsupc++/eh_ptr.cc @@ -23,9 +23,7 @@ // . #include -#include - -#if ATOMIC_INT_LOCK_FREE > 1 +#include "eh_atomics.h" #define _GLIBCXX_EH_PTR_COMPAT @@ -101,7 +99,7 @@ std::__exception_ptr::exception_ptr::_M_addref() noexcept { __cxa_refcounted_exception *eh = __get_refcounted_exception_header_from_obj (_M_exception_object); - __atomic_add_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL); + __gnu_cxx::__eh_atomic_inc (&eh->referenceCount); } } @@ -113,7 +111,7 @@ std::__exception_ptr::exception_ptr::_M_release() noexcept { __cxa_refcounted_exception *eh = __get_refcounted_exception_header_from_obj (_M_exception_object); - if (__atomic_sub_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL) == 0) + if (__gnu_cxx::__eh_atomic_dec (&eh->referenceCount)) { if (eh->exc.exceptionDestructor) eh->exc.exceptionDestructor (_M_exception_object); @@ -211,7 +209,7 @@ __gxx_dependent_exception_cleanup(_Unwind_Reason_Code code, __cxa_free_dependent_exception (dep); - if (__atomic_sub_fetch (&header->referenceCount, 1, __ATOMIC_ACQ_REL) == 0) + if (__gnu_cxx::__eh_atomic_dec (&header->referenceCount)) { if (header->exc.exceptionDestructor) header->exc.exceptionDestructor (header + 1); @@ -230,7 +228,7 @@ std::rethrow_exception(std::exception_ptr ep) __cxa_dependent_exception *dep = __cxa_allocate_dependent_exception (); dep->primaryException = obj; - __atomic_add_fetch (&eh->referenceCount, 1, __ATOMIC_ACQ_REL); + __gnu_cxx::__eh_atomic_inc (&eh->referenceCount); dep->unexpectedHandler = get_unexpected (); dep->terminateHandler = get_terminate (); @@ -252,5 +250,3 @@ std::rethrow_exception(std::exception_ptr ep) } #undef _GLIBCXX_EH_PTR_COMPAT - -#endif diff --git a/libstdc++-v3/libsupc++/eh_throw.cc b/libstdc++-v3/libsupc++/eh_throw.cc index 397decd..13428d9 100644 --- a/libstdc++-v3/libsupc++/eh_throw.cc +++ b/libstdc++-v3/libsupc++/eh_throw.cc @@ -24,6 +24,7 @@ #include #include "unwind-cxx.h" +#include "eh_atomics.h" using namespace __cxxabiv1; @@ -42,17 +43,13 @@ __gxx_exception_cleanup (_Unwind_Reason_Code code, _Unwind_Exception *exc) if (code != _URC_FOREIGN_EXCEPTION_CAUGHT && code != _URC_NO_REASON) __terminate (header->exc.terminateHandler); -#if ATOMIC_INT_LOCK_FREE > 1 - if (__atomic_sub_fetch (&header->referenceCount, 1, __ATOMIC_ACQ_REL) == 0) + if (__gnu_cxx::__eh_atomic_dec (&header->referenceCount)) { -#endif if (header->exc.exceptionDestructor) header->exc.exceptionDestructor (header + 1); __cxa_free_exception (header + 1); -#if ATOMIC_INT_LOCK_FREE > 1 } -#endif } extern "C" __cxa_refcounted_exception* diff --git a/libstdc++-v3/libsupc++/eh_tm.cc b/libstdc++-v3/libsupc++/eh_tm.cc index d0ccd9e..ffb5ef6 100644 --- a/libstdc++-v3/libsupc++/eh_tm.cc +++ b/libstdc++-v3/libsupc++/eh_tm.cc @@ -24,6 +24,7 @@ #include #include "unwind-cxx.h" +#include "eh_atomics.h" using namespace __cxxabiv1; @@ -45,9 +46,7 @@ free_any_cxa_exception (_Unwind_Exception *eo) __cxa_free_dependent_exception (dep); } -#if __GCC_ATOMIC_INT_LOCK_FREE > 1 - if (__atomic_sub_fetch (&h->referenceCount, 1, __ATOMIC_ACQ_REL) == 0) -#endif + if (__gnu_cxx::__eh_atomic_dec (&h->referenceCount)) __cxa_free_exception (h + 1); } diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception index 1ccf329..e51d31c 100644 --- a/libstdc++-v3/libsupc++/exception +++ b/libstdc++-v3/libsupc++/exception @@ -35,7 +35,6 @@ #pragma GCC visibility push(default) #include -#include #include extern "C++" { @@ -139,7 +138,7 @@ _GLIBCXX_END_NAMESPACE_VERSION #pragma GCC visibility pop -#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1) +#if (__cplusplus >= 201103L) #include #include #endif diff --git a/libstdc++-v3/libsupc++/exception_ptr.h b/libstdc++-v3/libsupc++/exception_ptr.h index a2a9017..2447a5a 100644 --- a/libstdc++-v3/libsupc++/exception_ptr.h +++ b/libstdc++-v3/libsupc++/exception_ptr.h @@ -39,10 +39,6 @@ #include #include -#if ATOMIC_INT_LOCK_FREE < 2 -# error This platform does not support exception propagation. -#endif - extern "C++" { namespace std diff --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc index ef0b8a8..19953bc 100644 --- a/libstdc++-v3/libsupc++/guard.cc +++ b/libstdc++-v3/libsupc++/guard.cc @@ -30,6 +30,7 @@ #include #include #include +#include #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \ && (ATOMIC_INT_LOCK_FREE > 1) && defined(_GLIBCXX_HAVE_LINUX_FUTEX) # include diff --git a/libstdc++-v3/libsupc++/nested_exception.cc b/libstdc++-v3/libsupc++/nested_exception.cc index 36951e2..7e1b545 100644 --- a/libstdc++-v3/libsupc++/nested_exception.cc +++ b/libstdc++-v3/libsupc++/nested_exception.cc @@ -25,7 +25,5 @@ namespace std { -#if ATOMIC_INT_LOCK_FREE > 1 nested_exception::~nested_exception() noexcept = default; -#endif } // namespace std diff --git a/libstdc++-v3/libsupc++/nested_exception.h b/libstdc++-v3/libsupc++/nested_exception.h index 66e2ebf..35b025a 100644 --- a/libstdc++-v3/libsupc++/nested_exception.h +++ b/libstdc++-v3/libsupc++/nested_exception.h @@ -39,10 +39,6 @@ #include #include -#if ATOMIC_INT_LOCK_FREE < 2 -# error This platform does not support exception propagation. -#endif - extern "C++" { namespace std diff --git a/libstdc++-v3/src/c++11/future.cc b/libstdc++-v3/src/c++11/future.cc index 3ed5bc9..e138567 100644 --- a/libstdc++-v3/src/c++11/future.cc +++ b/libstdc++-v3/src/c++11/future.cc @@ -78,8 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const char* future_error::what() const noexcept { return logic_error::what(); } -#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) \ - && (ATOMIC_INT_LOCK_FREE > 1) +#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) __future_base::_Result_base::_Result_base() = default; __future_base::_Result_base::~_Result_base() = default; diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc index 09d4f38..c7b8055 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/40296.cc @@ -1,5 +1,4 @@ // { dg-do compile { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc index 5d20f27..43aef95 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc index c478627..3562892 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc index 10eb754..a53b066 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2015-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc index a94ae84..8e0e9c2 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/64241.cc @@ -17,7 +17,6 @@ // { dg-options "-fno-exceptions -O0" } // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } #include #include diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc index 5f83ddc..7ad78e2 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/current_exception.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // 2008-05-25 Sebastian Redl diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc index 51b3858..58b6a32 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // 2008-05-25 Sebastian Redl diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc index 184b4de..f86b189 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr_2.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr_2.cc index 3893f5f..bc225d6 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr_2.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/make_exception_ptr_2.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc index bb18a46..4576844 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/move.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc index fd47be8..7102be6 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc index 7289cf3..60d01a9 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/requirements_neg.cc @@ -1,5 +1,4 @@ // { dg-do compile { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc index 288c7ef..c5461d8 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/rethrow_exception.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // 2008-05-25 Sebastian Redl diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc b/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc index 69fd02d..5b55fda 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/51438.cc @@ -1,5 +1,4 @@ // { dg-do compile { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc b/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc index 29a8aeb..e6993c9 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/62154.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc b/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc index e0e9fca..b2c4528 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/68139.cc @@ -1,5 +1,4 @@ // { dg-do compile { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2015-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc b/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc index 859b505..da0842c 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/cons.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc b/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc index 52d00ba..7d128f7 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/nested_ptr.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc index cd44b1c..1af61d6 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc index 2f307c8..b477b25 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/rethrow_nested.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc b/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc index 143521f..55e0e9d 100644 --- a/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc +++ b/libstdc++-v3/testsuite/18_support/nested_exception/throw_with_nested.cc @@ -1,5 +1,4 @@ // { dg-do run { target c++11 } } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/42819.cc b/libstdc++-v3/testsuite/30_threads/async/42819.cc index 9a605fb..87555d3 100644 --- a/libstdc++-v3/testsuite/30_threads/async/42819.cc +++ b/libstdc++-v3/testsuite/30_threads/async/42819.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/49668.cc b/libstdc++-v3/testsuite/30_threads/async/49668.cc index 1da2e45..e2f8d8e 100644 --- a/libstdc++-v3/testsuite/30_threads/async/49668.cc +++ b/libstdc++-v3/testsuite/30_threads/async/49668.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/54297.cc b/libstdc++-v3/testsuite/30_threads/async/54297.cc index 68b1be0..318f6cb 100644 --- a/libstdc++-v3/testsuite/30_threads/async/54297.cc +++ b/libstdc++-v3/testsuite/30_threads/async/54297.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // { dg-require-sleep "" } // Copyright (C) 2012-2017 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/30_threads/async/any.cc b/libstdc++-v3/testsuite/30_threads/async/any.cc index 27fe8c7..03a152f 100644 --- a/libstdc++-v3/testsuite/30_threads/async/any.cc +++ b/libstdc++-v3/testsuite/30_threads/async/any.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/async.cc b/libstdc++-v3/testsuite/30_threads/async/async.cc index 3c90bca..34f8ec4 100644 --- a/libstdc++-v3/testsuite/30_threads/async/async.cc +++ b/libstdc++-v3/testsuite/30_threads/async/async.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/except.cc b/libstdc++-v3/testsuite/30_threads/async/except.cc index 6047d0c..d2ac3ed 100644 --- a/libstdc++-v3/testsuite/30_threads/async/except.cc +++ b/libstdc++-v3/testsuite/30_threads/async/except.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc b/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc index 85ece1d..2597d2a 100644 --- a/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc +++ b/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/launch.cc b/libstdc++-v3/testsuite/30_threads/async/launch.cc index 65420ff..2015f7b 100644 --- a/libstdc++-v3/testsuite/30_threads/async/launch.cc +++ b/libstdc++-v3/testsuite/30_threads/async/launch.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc b/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc index ffcb623..8b38b78 100644 --- a/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc +++ b/libstdc++-v3/testsuite/30_threads/async/lwg2021.cc @@ -20,7 +20,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // LWG 2021. Further incorrect usages of result_of // Arguments to result_of should use decay. diff --git a/libstdc++-v3/testsuite/30_threads/async/sync.cc b/libstdc++-v3/testsuite/30_threads/async/sync.cc index 07cbff9..b41f65d 100644 --- a/libstdc++-v3/testsuite/30_threads/async/sync.cc +++ b/libstdc++-v3/testsuite/30_threads/async/sync.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc index 53dd4fa..a32070a 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/assign_neg.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc b/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc index 25de49f..cd50611 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/constexpr.cc @@ -2,7 +2,6 @@ // { dg-options "-fno-inline -g0" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // { dg-final { scan-assembler-not "_ZNSt6futureIvEC2Ev" } } // { dg-final { scan-assembler-not "_ZNSt6futureIiEC2Ev" } } diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc index be3a539..58a7f73 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/copy_neg.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/default.cc b/libstdc++-v3/testsuite/30_threads/future/cons/default.cc index b2e148e..783b38e 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/default.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/default.cc @@ -1,7 +1,6 @@ // { dg-do run { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/move.cc b/libstdc++-v3/testsuite/30_threads/future/cons/move.cc index 5a3c0ef..763066b 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/move.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/move.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc index 52cb2dd..9157348 100644 --- a/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc +++ b/libstdc++-v3/testsuite/30_threads/future/cons/move_assign.cc @@ -1,7 +1,6 @@ // { dg-do run { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/45133.cc b/libstdc++-v3/testsuite/30_threads/future/members/45133.cc index e16fd08..0a4e901 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/45133.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/45133.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/get.cc b/libstdc++-v3/testsuite/30_threads/future/members/get.cc index 44509e3..531706a 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/get.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/get.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/get2.cc b/libstdc++-v3/testsuite/30_threads/future/members/get2.cc index da8c048..451d97b 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/get2.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/get2.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/share.cc b/libstdc++-v3/testsuite/30_threads/future/members/share.cc index d08b8d0..9619ff1 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/share.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/share.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/valid.cc b/libstdc++-v3/testsuite/30_threads/future/members/valid.cc index 66a5db7..b43f1687 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/valid.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/valid.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait.cc index 157a28c..cc73758 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/wait.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/wait.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc index 408066f..e77606b 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc b/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc index 998eda6..f9fef11 100644 --- a/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc +++ b/libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc index aa2ae0a..1a6e262 100644 --- a/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/30_threads/future/requirements/explicit_instantiation.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc b/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc index 0c30622..4c15fbf 100644 --- a/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc +++ b/libstdc++-v3/testsuite/30_threads/headers/future/types_std_c++0x.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc index a8fb01b..4107004 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc index a80f4b6..a1d4e35 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/60564.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc index c922038..dd7f214 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc index 8264d19..c729434 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc index e74d3e7..30ae5da 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc index 37f7043..7073360 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/56492.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2013-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc index e6ba631..c45c9ea 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc index e2ebceb..f664391 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc2.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc index 23f7133..e1f99e0 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc index 7c4edb9..f8f501e 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc index f95fbfd..8d007f8 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc index 5bc750b..bd5cbd5 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc index 6d89b08..165b977 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc index 2d63602..cff9279 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/forced_unwind.cc @@ -1,7 +1,6 @@ // { dg-do run { target *-*-linux* *-*-gnu* } } // { dg-options "-pthread" { target *-*-linux* *-*-gnu* *-*-solaris* } } // { dg-require-effective-target c++11 } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc index 3cc2a9c..60700e2 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/at_thread_exit.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc index 039384c..e11ef8c 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc index 57c2f45..d0664b0 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc index 1755998..0099f37 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc index 5dd85c2..9a08879 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc index 1cce180..20e14fc 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc index f3439de..7ff3f08 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc index a4231ea..2be1e8d 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc index bde58d3..2643120 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc index 2eb2d09..79a33cd 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc index aec95d7..b2453d0 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc index f131827..422b951 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc index a508b31..ea3d0b4 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/requirements/explicit_instantiation.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc b/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc index 76fd7d8..5cda284 100644 --- a/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc +++ b/libstdc++-v3/testsuite/30_threads/packaged_task/uses_allocator.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/60966.cc b/libstdc++-v3/testsuite/30_threads/promise/60966.cc index dff1540..38c45fd 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/60966.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/60966.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/69106.cc b/libstdc++-v3/testsuite/30_threads/promise/69106.cc index e59d6a7..a209279 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/69106.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/69106.cc @@ -18,7 +18,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } #include diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc index 035f605..0c5d209 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/1.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc index f233be2..a51dd2a 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc index 0febeb3..ad7f35b 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc2.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc index 002ea04..388da2d 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/alloc_min.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc index 32e3a6a..837ffae 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/assign_neg.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc index 921f18b..0d9db76 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/copy_neg.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc index 9d7e1e8..a62b465 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/move.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc index efd44b7..65f9546 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc b/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc index 867ff7f..08331bf 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/at_thread_exit.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2014-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc b/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc index f20316a..72ae208 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc index 229577a..117de2c 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc index f285e72..6ff4a34 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc index 6fd8495..1b1a066 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc index fcfa187..7c08278 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc index 9f3839a..0c4e87a 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc b/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc index 595f0e9..110b79a 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc b/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc index d0d4b73..15b1a17 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/members/swap.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc index 3b125e9..5d6bcf3 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/requirements/explicit_instantiation.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc b/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc index 71a6c64..d083153 100644 --- a/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc +++ b/libstdc++-v3/testsuite/30_threads/promise/uses_allocator.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2011-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc index a1d70ff..6716416 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc @@ -1,7 +1,6 @@ // { dg-do run { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc index e8e5594..afacf44 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc @@ -2,7 +2,6 @@ // { dg-options "-fno-inline -g0" } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // { dg-final { scan-assembler-not "_ZNSt13shared_futureIvEC2Ev" } } // { dg-final { scan-assembler-not "_ZNSt13shared_futureIiEC2Ev" } } diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc index fe1308e..9f037bf 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc index 9d8040c..a4d5c8a 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/default.cc @@ -1,7 +1,6 @@ // { dg-do run { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc index 24777e6..6e9d8f8 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc index f9f71d8..68910c1 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/cons/move_assign.cc @@ -1,7 +1,6 @@ // { dg-do run { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc index 0e205ae..6933bed 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc index 270edab..0e84d8b 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc index 6c50ce4..4bfa177 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc index 1c436c0..dda7a57 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2010-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc index 6f98a86..725180f 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc index 7220af1..7d62ffd 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc index ce0133b..5eac3d1 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc @@ -3,7 +3,6 @@ // { dg-require-effective-target c++11 } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc index 69747d6..a48d45c 100644 --- a/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/30_threads/shared_future/requirements/explicit_instantiation.cc @@ -1,7 +1,6 @@ // { dg-do compile { target c++11 } } // { dg-require-cstdint "" } // { dg-require-gthreads "" } -// { dg-require-atomic-builtins "" } // Copyright (C) 2009-2017 Free Software Foundation, Inc. //