From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18417 invoked by alias); 5 Aug 2014 14:48:41 -0000 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 Received: (qmail 18399 invoked by uid 89); 5 Aug 2014 14:48:41 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.6 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: aserp1040.oracle.com Received: from aserp1040.oracle.com (HELO aserp1040.oracle.com) (141.146.126.69) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Tue, 05 Aug 2014 14:48:39 +0000 Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s75Emb3u021996 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 5 Aug 2014 14:48:37 GMT Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s75Ema21018209 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 5 Aug 2014 14:48:37 GMT Received: from abhmp0008.oracle.com (abhmp0008.oracle.com [141.146.116.14]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s75Emaif018194; Tue, 5 Aug 2014 14:48:36 GMT Received: from [192.168.1.4] (/79.52.196.68) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 05 Aug 2014 07:48:36 -0700 Message-ID: <53E0EEC1.2070605@oracle.com> Date: Tue, 05 Aug 2014 14:48:00 -0000 From: Paolo Carlini User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Jason Merrill , "gcc-patches@gcc.gnu.org" Subject: Re: [C++ Patch/RFC] PR 43906 References: <53DFB3AE.1030706@oracle.com> <53DFF100.6010105@redhat.com> <53E010B2.6050703@oracle.com> <53E03A36.5080203@redhat.com> <53E0C4C4.3010101@oracle.com> <53E0C99A.4060003@oracle.com> <53E0CEF9.7020204@redhat.com> In-Reply-To: <53E0CEF9.7020204@redhat.com> Content-Type: multipart/mixed; boundary="------------030607010603080805080005" X-IsSubscribed: yes X-SW-Source: 2014-08/txt/msg00361.txt.bz2 This is a multi-part message in MIME format. --------------030607010603080805080005 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 917 Hi, On 08/05/2014 02:32 PM, Jason Merrill wrote: > On 08/05/2014 08:10 AM, Paolo Carlini wrote: >> .. a clarification. As I tried to briefly explain yesterday, this kind >> of change means that: >> >> extern void z(); >> void il() { if (z != (void*)0) z(); } >> >> doesn't trigger anymore the pedwarn at beginning of >> composite_pointer_type about the comparison itself, for the simple >> reason that we don't call it anymore. > So let's keep calling it when the RHS is also a pointer? Indeed ;) Then I'm finishing testing the below. Note: I also rearranged the conditionals, splitting out the TYPE_PTRDATAMEM_P case, which was causing confusion in some cases: we were feeding a TYPE_PTRDATAMEM_P and a TYPE_PTR_P to composite_pointer_type, thus obtaining immediately verbose diagnostic, instead of the expected clean one talking about invalid operands to operator!=. Thanks, Paolo. ///////////////////// --------------030607010603080805080005 Content-Type: text/plain; charset=UTF-8; name="patch_43906_4" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="patch_43906_4" Content-length: 6954 SW5kZXg6IGNwL3R5cGVjay5jCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGNwL3R5cGVjay5jCShyZXZpc2lvbiAyMTM2MzEpCisrKyBjcC90eXBlY2su Ywkod29ya2luZyBjb3B5KQpAQCAtNDM1MywxMyArNDM1MywyMiBAQCBjcF9i dWlsZF9iaW5hcnlfb3AgKGxvY2F0aW9uX3QgbG9jYXRpb24sCiAJICAmJiAo Y29kZTEgPT0gSU5URUdFUl9UWVBFIHx8IGNvZGUxID09IFJFQUxfVFlQRQog CSAgICAgIHx8IGNvZGUxID09IENPTVBMRVhfVFlQRSB8fCBjb2RlMSA9PSBF TlVNRVJBTF9UWVBFKSkKIAlzaG9ydF9jb21wYXJlID0gMTsKLSAgICAgIGVs c2UgaWYgKChjb2RlMCA9PSBQT0lOVEVSX1RZUEUgJiYgY29kZTEgPT0gUE9J TlRFUl9UWVBFKQotCSAgICAgICB8fCAoVFlQRV9QVFJEQVRBTUVNX1AgKHR5 cGUwKSAmJiBUWVBFX1BUUkRBVEFNRU1fUCAodHlwZTEpKSkKLQlyZXN1bHRf dHlwZSA9IGNvbXBvc2l0ZV9wb2ludGVyX3R5cGUgKHR5cGUwLCB0eXBlMSwg b3AwLCBvcDEsCi0JCQkJCSAgICAgIENQT19DT01QQVJJU09OLCBjb21wbGFp bik7Ci0gICAgICBlbHNlIGlmICgoY29kZTAgPT0gUE9JTlRFUl9UWVBFIHx8 IFRZUEVfUFRSREFUQU1FTV9QICh0eXBlMCkpCi0JICAgICAgICYmIG51bGxf cHRyX2NzdF9wIChvcDEpKQorICAgICAgZWxzZSBpZiAoKChjb2RlMCA9PSBQ T0lOVEVSX1RZUEUgfHwgVFlQRV9QVFJEQVRBTUVNX1AgKHR5cGUwKSkKKwkJ JiYgbnVsbF9wdHJfY3N0X3AgKG9wMSkpCisJICAgICAgIC8qIEhhbmRsZSwg ZWcsICh2b2lkKikwIChjKysvNDM5MDYpLCBhbmQgbW9yZS4gICovCisJICAg ICAgIHx8IChjb2RlMCA9PSBQT0lOVEVSX1RZUEUKKwkJICAgJiYgVFlQRV9Q VFJfUCAodHlwZTEpICYmIGludGVnZXJfemVyb3AgKG9wMSkKKwkJICAgJiYg KFZPSURfVFlQRV9QIChUUkVFX1RZUEUgKHR5cGUxKSkKKwkJICAgICAgIHx8 IGNvbXB0eXBlcyAoVFlQRV9NQUlOX1ZBUklBTlQgKFRSRUVfVFlQRSAodHlw ZTApKSwKKwkJCQkgICAgIFRZUEVfTUFJTl9WQVJJQU5UIChUUkVFX1RZUEUg KHR5cGUxKSksCisJCQkJICAgICBDT01QQVJFX0JBU0UgfCBDT01QQVJFX0RF UklWRUQpKSkpCiAJeworCSAgaWYgKFRZUEVfUFRSX1AgKHR5cGUxKSkKKwkg ICAgcmVzdWx0X3R5cGUgPSBjb21wb3NpdGVfcG9pbnRlcl90eXBlICh0eXBl MCwgdHlwZTEsIG9wMCwgb3AxLAorCQkJCQkJICBDUE9fQ09NUEFSSVNPTiwg Y29tcGxhaW4pOworCSAgZWxzZQorCSAgICByZXN1bHRfdHlwZSA9IHR5cGUw OworCiAJICBpZiAoVFJFRV9DT0RFIChvcDApID09IEFERFJfRVhQUgogCSAg ICAgICYmIGRlY2xfd2l0aF9ub25udWxsX2FkZHJfcCAoVFJFRV9PUEVSQU5E IChvcDAsIDApKSkKIAkgICAgewpAQCAtNDM2OCwxMSArNDM3NywyMyBAQCBj cF9idWlsZF9iaW5hcnlfb3AgKGxvY2F0aW9uX3QgbG9jYXRpb24sCiAJCXdh cm5pbmcgKE9QVF9XYWRkcmVzcywgInRoZSBhZGRyZXNzIG9mICVxRCB3aWxs IG5ldmVyIGJlIE5VTEwiLAogCQkJIFRSRUVfT1BFUkFORCAob3AwLCAwKSk7 CiAJICAgIH0KLQkgIHJlc3VsdF90eXBlID0gdHlwZTA7CiAJfQotICAgICAg ZWxzZSBpZiAoKGNvZGUxID09IFBPSU5URVJfVFlQRSB8fCBUWVBFX1BUUkRB VEFNRU1fUCAodHlwZTEpKQotCSAgICAgICAmJiBudWxsX3B0cl9jc3RfcCAo b3AwKSkKKyAgICAgIGVsc2UgaWYgKCgoY29kZTEgPT0gUE9JTlRFUl9UWVBF IHx8IFRZUEVfUFRSREFUQU1FTV9QICh0eXBlMSkpCisJCSYmIG51bGxfcHRy X2NzdF9wIChvcDApKQorCSAgICAgICAvKiBIYW5kbGUsIGVnLCAodm9pZCop MCAoYysrLzQzOTA2KSwgYW5kIG1vcmUuICAqLworCSAgICAgICB8fCAoY29k ZTEgPT0gUE9JTlRFUl9UWVBFCisJCSAgICYmIFRZUEVfUFRSX1AgKHR5cGUw KSAmJiBpbnRlZ2VyX3plcm9wIChvcDApCisJCSAgICYmIChWT0lEX1RZUEVf UCAoVFJFRV9UWVBFICh0eXBlMCkpCisJCSAgICAgICB8fCBjb21wdHlwZXMg KFRZUEVfTUFJTl9WQVJJQU5UIChUUkVFX1RZUEUgKHR5cGUwKSksCisJCQkJ ICAgICBUWVBFX01BSU5fVkFSSUFOVCAoVFJFRV9UWVBFICh0eXBlMSkpLAor CQkJCSAgICAgQ09NUEFSRV9CQVNFIHwgQ09NUEFSRV9ERVJJVkVEKSkpKQog CXsKKwkgIGlmIChUWVBFX1BUUl9QICh0eXBlMCkpCisJICAgIHJlc3VsdF90 eXBlID0gY29tcG9zaXRlX3BvaW50ZXJfdHlwZSAodHlwZTAsIHR5cGUxLCBv cDAsIG9wMSwKKwkJCQkJCSAgQ1BPX0NPTVBBUklTT04sIGNvbXBsYWluKTsK KwkgIGVsc2UKKwkgICAgcmVzdWx0X3R5cGUgPSB0eXBlMTsKKwogCSAgaWYg KFRSRUVfQ09ERSAob3AxKSA9PSBBRERSX0VYUFIgCiAJICAgICAgJiYgZGVj bF93aXRoX25vbm51bGxfYWRkcl9wIChUUkVFX09QRVJBTkQgKG9wMSwgMCkp KQogCSAgICB7CkBAIC00MzgxLDggKzQ0MDIsMTEgQEAgY3BfYnVpbGRfYmlu YXJ5X29wIChsb2NhdGlvbl90IGxvY2F0aW9uLAogCQl3YXJuaW5nIChPUFRf V2FkZHJlc3MsICJ0aGUgYWRkcmVzcyBvZiAlcUQgd2lsbCBuZXZlciBiZSBO VUxMIiwKIAkJCSBUUkVFX09QRVJBTkQgKG9wMSwgMCkpOwogCSAgICB9Ci0J ICByZXN1bHRfdHlwZSA9IHR5cGUxOwogCX0KKyAgICAgIGVsc2UgaWYgKChj b2RlMCA9PSBQT0lOVEVSX1RZUEUgJiYgY29kZTEgPT0gUE9JTlRFUl9UWVBF KQorCSAgICAgICB8fCAoVFlQRV9QVFJEQVRBTUVNX1AgKHR5cGUwKSAmJiBU WVBFX1BUUkRBVEFNRU1fUCAodHlwZTEpKSkKKwlyZXN1bHRfdHlwZSA9IGNv bXBvc2l0ZV9wb2ludGVyX3R5cGUgKHR5cGUwLCB0eXBlMSwgb3AwLCBvcDEs CisJCQkJCSAgICAgIENQT19DT01QQVJJU09OLCBjb21wbGFpbik7CiAgICAg ICBlbHNlIGlmIChudWxsX3B0cl9jc3RfcCAob3AwKSAmJiBudWxsX3B0cl9j c3RfcCAob3AxKSkKIAkvKiBPbmUgb2YgdGhlIG9wZXJhbmRzIG11c3QgYmUg b2YgbnVsbHB0cl90IHR5cGUuICAqLwogICAgICAgICByZXN1bHRfdHlwZSA9 IFRSRUVfVFlQRSAobnVsbHB0cl9ub2RlKTsKSW5kZXg6IHRlc3RzdWl0ZS9n KysuZGcvd2Fybi9XYWRkcmVzcy0xLkMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gdGVzdHN1aXRlL2crKy5kZy93YXJuL1dhZGRyZXNzLTEuQwkocmV2 aXNpb24gMCkKKysrIHRlc3RzdWl0ZS9nKysuZGcvd2Fybi9XYWRkcmVzcy0x LkMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorLy8gUFIgYysr LzQzOTA2CisvLyB7IGRnLW9wdGlvbnMgIi1XYWRkcmVzcyAtcGVkYW50aWMi IH0KKworZXh0ZXJuIHZvaWQgeigpOwordHlwZWRlZiB2b2lkICgqcHRyZikg KCk7Cit0eXBlZGVmIGludCAoKnB0cmZuKSAoaW50KTsKK2ludCBuOworY29u c3QgaW50IG0gPSAxOworc3RydWN0IFMgeyB9Oworc3RydWN0IFQgOiBTIHsg fTsKK3N0cnVjdCBVOworUyBzOworVCB0OworZG91YmxlIGQ7CisKK3ZvaWQg ZigpICB7IGlmICh6KSB6KCk7IH0gICAgICAgICAgICAgICAvLyB7IGRnLXdh cm5pbmcgImFkZHJlc3MiIH0KKwordm9pZCBnbCgpIHsgaWYgKHogIT0gMCkg eigpOyB9ICAgICAgICAgIC8vIHsgZGctd2FybmluZyAiYWRkcmVzcyIgfQor dm9pZCBobCgpIHsgaWYgKHogIT0gKHB0cmYpMCkgeigpOyB9ICAgIC8vIHsg ZGctd2FybmluZyAiYWRkcmVzcyIgfQordm9pZCBpbCgpIHsgaWYgKHogIT0g KHZvaWQqKTApIHooKTsgfSAgIC8vIHsgZGctd2FybmluZyAiYWRkcmVzc3xj b21wYXJpc29uIiB9Cit2b2lkIGpsKCkgeyBpZiAoJm4gIT0gKGludCopMCkg eigpOyB9ICAgLy8geyBkZy13YXJuaW5nICJhZGRyZXNzIiB9Cit2b2lkIGts KCkgeyBpZiAoJm0gIT0gKGludCopMCkgeigpOyB9ICAgLy8geyBkZy13YXJu aW5nICJhZGRyZXNzIiB9Cit2b2lkIGxsKCkgeyBpZiAoJnMgIT0gKFQqKTAp IHooKTsgfSAgICAgLy8geyBkZy13YXJuaW5nICJhZGRyZXNzIiB9Cit2b2lk IG1sKCkgeyBpZiAoJnQgIT0gKFMqKTApIHooKTsgfSAgICAgLy8geyBkZy13 YXJuaW5nICJhZGRyZXNzIiB9CisKK3ZvaWQgbmwoKSB7IGlmICh6ICE9IChT KikwKSB6KCk7IH0gICAgICAvLyB7IGRnLWVycm9yICJjb21wYXJpc29uIiB9 Cit2b2lkIHBsKCkgeyBpZiAoeiAhPSAocHRyZm4pMCkgeigpOyB9ICAgLy8g eyBkZy1lcnJvciAiY29tcGFyaXNvbiIgfQordm9pZCBxbCgpIHsgaWYgKCZk ICE9IChpbnQqKTApIHooKTsgfSAgIC8vIHsgZGctZXJyb3IgImNvbXBhcmlz b24iIH0KK3ZvaWQgcmwoKSB7IGlmICgmcyAhPSAoVSopMCkgeigpOyB9ICAg ICAvLyB7IGRnLWVycm9yICJjb21wYXJpc29uIiB9CisKK3ZvaWQgZ3IoKSB7 IGlmICgwICE9IHopIHooKTsgfSAgICAgICAgICAvLyB7IGRnLXdhcm5pbmcg ImFkZHJlc3MiIH0KK3ZvaWQgaHIoKSB7IGlmICgocHRyZikwICE9IHopIHoo KTsgfSAgICAvLyB7IGRnLXdhcm5pbmcgImFkZHJlc3MiIH0KK3ZvaWQgaXIo KSB7IGlmICgodm9pZCopMCAhPSB6KSB6KCk7IH0gICAvLyB7IGRnLXdhcm5p bmcgImFkZHJlc3N8Y29tcGFyaXNvbiIgfQordm9pZCBqcigpIHsgaWYgKChp bnQqKTAgIT0gJm4pIHooKTsgfSAgIC8vIHsgZGctd2FybmluZyAiYWRkcmVz cyIgfQordm9pZCBrcigpIHsgaWYgKChpbnQqKTAgIT0gJm0pIHooKTsgfSAg IC8vIHsgZGctd2FybmluZyAiYWRkcmVzcyIgfQordm9pZCBscigpIHsgaWYg KChUKikwICE9ICZzKSB6KCk7IH0gICAgIC8vIHsgZGctd2FybmluZyAiYWRk cmVzcyIgfQordm9pZCBtcigpIHsgaWYgKChTKikwICE9ICZ0KSB6KCk7IH0g ICAgIC8vIHsgZGctd2FybmluZyAiYWRkcmVzcyIgfQorCit2b2lkIG5yKCkg eyBpZiAoKFMqKTAgIT0geikgeigpOyB9ICAgICAgLy8geyBkZy1lcnJvciAi Y29tcGFyaXNvbiIgfQordm9pZCBwcigpIHsgaWYgKChwdHJmbikwICE9IHop IHooKTsgfSAgIC8vIHsgZGctZXJyb3IgImNvbXBhcmlzb24iIH0KK3ZvaWQg cXIoKSB7IGlmICgoaW50KikwICE9ICZkKSB6KCk7IH0gICAvLyB7IGRnLWVy cm9yICJjb21wYXJpc29uIiB9Cit2b2lkIHJyKCkgeyBpZiAoKFUqKTAgIT0g JnMpIHooKTsgfSAgICAgLy8geyBkZy1lcnJvciAiY29tcGFyaXNvbiIgfQo= --------------030607010603080805080005--