From patchwork Tue Aug 7 23:10:01 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Kosnik X-Patchwork-Id: 175815 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 045C02C007F for ; Wed, 8 Aug 2012 09:10:22 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1344985823; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Date:From:To:Subject:Message-ID:Mime-Version:Content-Type: Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:Sender:Delivered-To; bh=cs/VW8CSPLuvbepPIz+C XADtibo=; b=qwkHGfYGxp3MQn6BKCmVdD0j+8GOojQMLZX3QlCdTUx6CnlD6E66 akxgEdhVtm5lHMN+z3WJ/IAdmU9qYBd3XZyfmM+faEW/4DpjZVtsldr/BWBc8y/k Lxk3hPOK4fCVIMUeSAA/IvlLPx4a6W4IOAmWjzPYVc0i/Tcf0QapzfE= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Date:From:To:Subject:Message-ID:Mime-Version:Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=rdHew6BEhO355CJTgTrkrY44c5mkQZoBGuYzlvLynEY/CMId+jTT1VsAZ/RPoW 0JegaN2zie2dVjuNF08jay8F2RKWTqdg0N+vLEjZkGpP7/CAUMWnXRb+YfgD5MB7 dwgAng6nCKAoIYV45JDtrI3Hw6qVxlsHMqHNDlp63kXF4=; Received: (qmail 29996 invoked by alias); 7 Aug 2012 23:10:17 -0000 Received: (qmail 29983 invoked by uid 22791); 7 Aug 2012 23:10:16 -0000 X-SWARE-Spam-Status: No, hits=-5.9 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, RCVD_IN_DNSWL_HI, RCVD_IN_HOSTKARMA_W, SPF_HELO_PASS, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 07 Aug 2012 23:10:03 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q77NA3KM028637 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 7 Aug 2012 19:10:03 -0400 Received: from coso (ovpn-113-115.phx2.redhat.com [10.3.113.115]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q77NA2tI003001; Tue, 7 Aug 2012 19:10:02 -0400 Date: Tue, 7 Aug 2012 16:10:01 -0700 From: Benjamin De Kosnik To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: [v3] libstdc++/54005 Message-ID: <20120807161001.7e5d606f@coso> Mime-Version: 1.0 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 Pretty minor change, as per PR. This version seems more appropriate for templatized types. I'll wait a bit before putting this on 4.7_branch -benjamin tested x86/linux 2012-08-07 Benjamin Kosnik PR libstdc++/54005 * include/std/atomic: Use __atomic_always_lock_free. * include/bits/atomic_base.h: Same. diff --git a/libstdc++-v3/include/bits/atomic_base.h b/libstdc++-v3/include/bits/atomic_base.h index 9d5f4eb..598e1f1 100644 --- a/libstdc++-v3/include/bits/atomic_base.h +++ b/libstdc++-v3/include/bits/atomic_base.h @@ -422,11 +422,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION bool is_lock_free() const noexcept - { return __atomic_is_lock_free (sizeof (_M_i), &_M_i); } + { return __atomic_always_lock_free(sizeof(_M_i), &_M_i); } bool is_lock_free() const volatile noexcept - { return __atomic_is_lock_free (sizeof (_M_i), &_M_i); } + { return __atomic_always_lock_free(sizeof(_M_i), &_M_i); } void store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept @@ -716,11 +716,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION bool is_lock_free() const noexcept - { return __atomic_is_lock_free(_M_type_size(1), &_M_p); } + { return __atomic_always_lock_free(_M_type_size(1), &_M_p); } bool is_lock_free() const volatile noexcept - { return __atomic_is_lock_free(_M_type_size(1), &_M_p); } + { return __atomic_always_lock_free(_M_type_size(1), &_M_p); } void store(__pointer_type __p, diff --git a/libstdc++-v3/include/std/atomic b/libstdc++-v3/include/std/atomic index 6a08b28..b5ca606 100644 --- a/libstdc++-v3/include/std/atomic +++ b/libstdc++-v3/include/std/atomic @@ -184,11 +184,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION bool is_lock_free() const noexcept - { return __atomic_is_lock_free(sizeof(_M_i), &_M_i); } + { return __atomic_always_lock_free(sizeof(_M_i), &_M_i); } bool is_lock_free() const volatile noexcept - { return __atomic_is_lock_free(sizeof(_M_i), &_M_i); } + { return __atomic_always_lock_free(sizeof(_M_i), &_M_i); } void store(_Tp __i, memory_order _m = memory_order_seq_cst) noexcept