From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23111 invoked by alias); 2 Apr 2012 00:17:08 -0000 Received: (qmail 23101 invoked by uid 22791); 2 Apr 2012 00:17:07 -0000 X-SWARE-Spam-Status: No, hits=-6.8 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_NO,RCVD_IN_HOSTKARMA_W,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from acsinet15.oracle.com (HELO acsinet15.oracle.com) (141.146.126.227) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 02 Apr 2012 00:16:53 +0000 Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q320Gpqu028802 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 2 Apr 2012 00:16:52 GMT Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q320GomK011632 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 2 Apr 2012 00:16:51 GMT Received: from abhmt117.oracle.com (abhmt117.oracle.com [141.146.116.69]) by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q320GoQf032062; Sun, 1 Apr 2012 19:16:50 -0500 Received: from [192.168.1.4] (/79.53.14.214) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Sun, 01 Apr 2012 17:16:50 -0700 Message-ID: <4F78EF30.60107@oracle.com> Date: Mon, 02 Apr 2012 00:17:00 -0000 From: Paolo Carlini User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120312 Thunderbird/11.0 MIME-Version: 1.0 To: Jason Merrill CC: "gcc-patches@gcc.gnu.org" Subject: Re: [C++ RFC / Patch] Implementing "Deducing "noexcept" for destructors" References: <4F70515C.2090701@oracle.com> <4F70C403.5030005@redhat.com> <4F73280F.9040804@oracle.com> <4F732BC3.1050504@redhat.com> <4F73937A.50806@oracle.com> <4F74AF37.8080408@redhat.com> <4F74B2CA.6060209@oracle.com> <4F74B7A1.5070101@redhat.com> <4F74E19C.9040903@oracle.com> <4F765F3A.2000503@oracle.com> <4F78933A.8040206@redhat.com> In-Reply-To: <4F78933A.8040206@redhat.com> Content-Type: multipart/mixed; boundary="------------000105080006000502040505" X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-04/txt/msg00012.txt.bz2 This is a multi-part message in MIME format. --------------000105080006000502040505 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 949 Hi, >> we reject, with a "different exception specifier" error, both: >> >> template >> struct A >> { >> ~A() noexcept; >> }; >> >> template >> A::~A() { } >> >> and: >> >> template >> struct A >> { >> ~A(); >> }; >> >> template >> A::~A() noexcept { } >> >> Over the last days I wasted a lot of time trying painfully to not >> reject either, but actually now I'm pretty sure that we are right to >> reject the former (there are exception specifiers on the declaration >> thus automatic deduction should not trigger at all) and probably also >> the latter. > > I'm OK with that, as long as we correctly allow > > struct B > { > ~B() noexcept; > }; > > B::~B() { } > > and > > struct B > { > ~B(); > }; > B::~B() noexcept { } Agreed. Thanks for asking on the reflector. > > The patch is OK. Thanks again, the patch is in with the attached ChangeLog. Paolo. //////////////////////// --------------000105080006000502040505 Content-Type: text/plain; charset=UTF-8; name="CL_50043" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="CL_50043" Content-length: 924 L2NwCjIwMTItMDQtMDEgIFBhb2xvIENhcmxpbmkgIDxwYW9sby5jYXJsaW5p QG9yYWNsZS5jb20+CgoJUFIgYysrLzUwMDQzCgkqIGNsYXNzLmMgKGRlZHVj ZV9ub2V4Y2VwdF9vbl9kZXN0cnVjdG9yLAoJZGVkdWNlX25vZXhjZXB0X29u X2Rlc3RydWN0b3JzKTogTmV3LgoJKGNoZWNrX2Jhc2VzX2FuZF9tZW1iZXJz KTogQ2FsbCB0aGUgbGF0dGVyLgoJKiBkZWNsLmMgKGdyb2tmbmRlY2wpOiBD YWxsIHRoZSBmb3JtZXIuCgkqIG1ldGhvZC5jIChpbXBsaWNpdGx5X2RlY2xh cmVfZm4pOiBOb3Qgc3RhdGljLgoJKiBjcC10cmVlLmggKGRlZHVjZV9ub2V4 Y2VwdF9vbl9kZXN0cnVjdG9yLCBpbXBsaWNpdGx5X2RlY2xhcmVfZm4pOgoJ RGVjbGFyZQoKL3Rlc3RzdWl0ZQoyMDEyLTA0LTAxICBQYW9sbyBDYXJsaW5p ICA8cGFvbG8uY2FybGluaUBvcmFjbGUuY29tPgoKCVBSIGMrKy81MDA0MwoJ KiBnKysuZGcvY3BwMHgvbm9leGNlcHQxNy5DOiBOZXcuCgkqIGcrKy5vbGQt ZGVqYS9nKysuZWgvY2xlYW51cDEuQzogQWRqdXN0LgoJKiBnKysuZGcvdHJl ZS1zc2EvZWhjbGVhbnVwLTEuQzogTGlrZXdpc2UuCgkqIGcrKy5kZy9jcHAw eC9ub2V4Y2VwdDAxLkM6IExpa2V3aXNlLgoJKiBnKysuZGcvZWgvaW5pdC10 ZW1wMS5DOiBMaWtld2lzZS4KCSogZysrLmRnL2VoL2N0b3IxLkM6IExpa3dp c2UuCg== --------------000105080006000502040505--