From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32564 invoked by alias); 4 Nov 2008 22:15:32 -0000 Received: (qmail 32475 invoked by uid 22791); 4 Nov 2008 22:15:31 -0000 X-Spam-Check-By: sourceware.org Received: from fg-out-1718.google.com (HELO fg-out-1718.google.com) (72.14.220.156) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 04 Nov 2008 22:14:53 +0000 Received: by fg-out-1718.google.com with SMTP id e21so3017628fga.28 for ; Tue, 04 Nov 2008 14:14:49 -0800 (PST) Received: by 10.187.172.9 with SMTP id z9mr26128fao.18.1225836889545; Tue, 04 Nov 2008 14:14:49 -0800 (PST) Received: by 10.187.226.13 with HTTP; Tue, 4 Nov 2008 14:14:49 -0800 (PST) Message-ID: <6c33472e0811041414l57b4b98ibb84350dcf60117f@mail.gmail.com> Date: Tue, 04 Nov 2008 22:15:00 -0000 From: "=?ISO-8859-1?Q?Manuel_L=F3pez-Ib=E1=F1ez?=" To: "Jakub Jelinek" Subject: Re: PR c++/36921 [4.3/4.4 Regression] warning "comparison does not have mathematical meaning" is not correct for overloaded operators that do not return boolean Cc: "Gcc Patch List" In-Reply-To: <20081025162735.GM14706@tyan-ft48-01.lab.bos.redhat.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_99865_9823964.1225836889537" References: <6c33472e0810250750y33c10265g3195e8613de1b1fc@mail.gmail.com> <20081025162735.GM14706@tyan-ft48-01.lab.bos.redhat.com> 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: 2008-11/txt/msg00140.txt.bz2 ------=_Part_99865_9823964.1225836889537 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-length: 888 2008/10/25 Jakub Jelinek : > > Are you sure we don't want to warn even about the: > if (code =3D=3D EQ_EXPR || code =3D=3D NE_EXPR) > { > if (TREE_CODE_CLASS (code_left) =3D=3D tcc_comparison > || TREE_CODE_CLASS (code_right) =3D=3D tcc_comparison) > warning (OPT_Wparentheses, > "suggest parentheses around comparison in operand of %s", > code =3D=3D EQ_EXPR ? "=3D=3D" : "!=3D"); > } > case if EQ_EXPR or NE_EXPR don't return boolean? Thanks. I added your suggestion. Bootstrapped and regression tested on x86_64-unknown-linux-gnu with --enable-languages=3Dall. OK for trunk? 2008-11-04 Manuel L=F3pez-Ib=E1=F1ez PR c++/36921 cp/ * typeck.c (build_x_binary_op): Do not warn for overloaded comparison operators that do not return boolean. testsuite/ * g++.dg/warn/pr36921.C: New. ------=_Part_99865_9823964.1225836889537 Content-Type: text/plain; name=fix-pr36921.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fn53m6bf0 Content-Disposition: attachment; filename=fix-pr36921.diff Content-length: 2985 SW5kZXg6IGdjYy90ZXN0c3VpdGUvZysrLmRnL3dhcm4vcHIzNjkyMS5DCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYy90ZXN0c3VpdGUvZysrLmRn L3dhcm4vcHIzNjkyMS5DCShyZXZpc2lvbiAwKQorKysgZ2NjL3Rlc3RzdWl0 ZS9nKysuZGcvd2Fybi9wcjM2OTIxLkMJKHJldmlzaW9uIDApCkBAIC0wLDAg KzEsMjcgQEAKKy8qIFBSIDM2OTIxOiBjb21wYXJpc29uIG9wZXJhdG9yIGNh biBiZSBvdmVybG9hZGVkLiBEbyBub3QgZW1pdAorICAgd2FybmluZ3MgaW4g c3VjaCBjYXNlLgorIHsgZGctZG8gY29tcGlsZSB9CisgeyBkZy1vcHRpb25z ICItV3BhcmVudGhlc2VzIiB9CisqLworc3RydWN0IEEge307CitBIG9wZXJh dG9yPChBLCBBKSB7IHJldHVybiBBKCk7IH0KK0Egb3BlcmF0b3I+KEEsIEEp IHsgcmV0dXJuIEEoKTsgfQorQSBvcGVyYXRvcjw9KEEsIEEpIHsgcmV0dXJu IEEoKTsgfQorQSBvcGVyYXRvcj49KEEsIEEpIHsgcmV0dXJuIEEoKTsgfQor QSBvcGVyYXRvcj09KEEsIEEpIHsgcmV0dXJuIEEoKTsgfQorQSBvcGVyYXRv ciE9KEEsIEEpIHsgcmV0dXJuIEEoKTsgfQorCitpbnQgbWFpbigpIHsKKyAg QSgpIDwgQSgpIDwgQSgpOyAvLyBzaG91bGQgbm90IGVtaXQgd2FybmluZwor ICAxIDwgMiA8IDM7IC8vIHsgZGctd2FybmluZyAibWF0aGVtYXRpY2FsIG1l YW5pbmciICJwYXJlbnRoZXNlcyIgfQorICBBKCkgPiBBKCkgPiBBKCk7IC8v IHNob3VsZCBub3QgZW1pdCB3YXJuaW5nCisgIDEgPiAyID4gMzsgLy8geyBk Zy13YXJuaW5nICJtYXRoZW1hdGljYWwgbWVhbmluZyIgInBhcmVudGhlc2Vz IiB9CisgIEEoKSA8PSBBKCkgPD0gQSgpOyAvLyBzaG91bGQgbm90IGVtaXQg d2FybmluZworICAxIDw9IDIgPD0gMzsgLy8geyBkZy13YXJuaW5nICJtYXRo ZW1hdGljYWwgbWVhbmluZyIgInBhcmVudGhlc2VzIiB9CisgIEEoKSA+PSBB KCkgPj0gQSgpOyAvLyBzaG91bGQgbm90IGVtaXQgd2FybmluZworICAxID49 IDIgPj0gMzsgLy8geyBkZy13YXJuaW5nICJtYXRoZW1hdGljYWwgbWVhbmlu ZyIgInBhcmVudGhlc2VzIiB9CisKKyAgQSgpID09IEEoKSA8IEEgKCk7IC8v IHsgZGctd2FybmluZyAic3VnZ2VzdCBwYXJlbnRoZXNlcyIgInBhcmVudGhl c2VzIiB9CisgIEEoKSA8IEEoKSAhPSBBICgpOyAvLyB7IGRnLXdhcm5pbmcg InN1Z2dlc3QgcGFyZW50aGVzZXMiICJwYXJlbnRoZXNlcyIgfQorICByZXR1 cm4gMDsKK30KSW5kZXg6IGdjYy9jcC90eXBlY2suYwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLSBnY2MvY3AvdHlwZWNrLmMJKHJldmlzaW9uIDE0MTUz MSkKKysrIGdjYy9jcC90eXBlY2suYwkod29ya2luZyBjb3B5KQpAQCAtMzE1 NSwxMSArMzE1NSwxNyBAQCBidWlsZF94X2JpbmFyeV9vcCAoZW51bSB0cmVl X2NvZGUgY29kZSwgCiAgIGlmICh3YXJuX3BhcmVudGhlc2VzCiAgICAgICAm JiAhcHJvY2Vzc2luZ190ZW1wbGF0ZV9kZWNsCiAgICAgICAmJiAhZXJyb3Jf b3BlcmFuZF9wIChhcmcxKQogICAgICAgJiYgIWVycm9yX29wZXJhbmRfcCAo YXJnMikKICAgICAgICYmIChjb2RlICE9IExTSElGVF9FWFBSCi0JICB8fCAh Q0xBU1NfVFlQRV9QIChUUkVFX1RZUEUgKGFyZzEpKSkpCisJICB8fCAhQ0xB U1NfVFlQRV9QIChUUkVFX1RZUEUgKGFyZzEpKSkKKyAgICAgIC8qIERvIG5v dCB3YXJuIGFib3V0IG92ZXJsb2FkZWQgY29tcGFyaXNvbiBvcGVyYXRvciB0 aGF0IGRvZXMKKwkgbm90IHJldHVybiBib29sZWFuLiAgKi8KKyAgICAgICYm IChUUkVFX0NPREVfQ0xBU1MgKGNvZGUpICE9IHRjY19jb21wYXJpc29uIAor CSAgfHwgY29kZSA9PSBFUV9FWFBSIAorCSAgfHwgY29kZSA9PSBORV9FWFBS CisJICB8fCBUUkVFX0NPREUgKFRSRUVfVFlQRSAoZXhwcikpID09IEJPT0xF QU5fVFlQRSkpCiAgICAgd2Fybl9hYm91dF9wYXJlbnRoZXNlcyAoY29kZSwg YXJnMV9jb2RlLCBvcmlnX2FyZzEsIGFyZzJfY29kZSwgb3JpZ19hcmcyKTsK IAogICBpZiAocHJvY2Vzc2luZ190ZW1wbGF0ZV9kZWNsICYmIGV4cHIgIT0g ZXJyb3JfbWFya19ub2RlKQogICAgIHJldHVybiBidWlsZF9taW5fbm9uX2Rl cCAoY29kZSwgZXhwciwgb3JpZ19hcmcxLCBvcmlnX2FyZzIpOwogCg== ------=_Part_99865_9823964.1225836889537--