From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 107284 invoked by alias); 8 Oct 2016 17:40:34 -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 107264 invoked by uid 89); 8 Oct 2016 17:40:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM autolearn=no version=3.3.2 spammy=sk:truthva, H*Ad:U*fw, Distribute, Delay X-HELO: mail-oi0-f44.google.com Received: from mail-oi0-f44.google.com (HELO mail-oi0-f44.google.com) (209.85.218.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 08 Oct 2016 17:40:23 +0000 Received: by mail-oi0-f44.google.com with SMTP id y2so9980610oie.0 for ; Sat, 08 Oct 2016 10:40:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=y+P6tV9T7Me08iRiKtYktSpZ0lB2NmExeKWtaIlvuFE=; b=KOjomYMnv9I1OfC8064D1tM4QziMu9ufSIW6+5Qlhydy26yTaBtFwlpfB0YCM0RHUt SJEqZHMYZ7R5ifKZPZ2ADzNixC5C/p5BB0NvJb99YEYiras28diWhbbgBNMpuCpqQalh lzSoi9aEnLF9d37Z796EWqgjy82PnYMp980dq+86GF+067ceG6xtAIh1db1jHgaiD8XA dOkVcYffT/ExhGwai/GbrNZNboFRZo00pZ+Ft/NYKcntURsBnKIqRvLkkZ/Ar1Hm2TW+ TjXsRmgdHAyx5ziXGT2WL0S8jhwBimTGLKcuWosVK+xUBdMjZpxIbE7bL3aGh5DIwU+l +m1Q== X-Gm-Message-State: AA6/9Rk7MdfNyi9rEsu93agbXT3J6Q3AVsOk1oetX1prB96AtcFrF8ns+5r1nS6LIkAKAbBgKbcASxY1UVWzOkoL X-Received: by 10.157.34.18 with SMTP id o18mr9918352ota.112.1475948422104; Sat, 08 Oct 2016 10:40:22 -0700 (PDT) MIME-Version: 1.0 Received: by 10.182.87.231 with HTTP; Sat, 8 Oct 2016 10:40:01 -0700 (PDT) In-Reply-To: References: <87shslv769.fsf@mid.deneb.enyo.de> <87fuol77ri.fsf@mid.deneb.enyo.de> From: Jason Merrill Date: Sat, 08 Oct 2016 17:40:00 -0000 Message-ID: Subject: Re: [PATCH] Make -Wint-in-bool-context warn on suspicious shift ops To: Bernd Edlinger Cc: Florian Weimer , "gcc-patches@gcc.gnu.org" , Jeff Law Content-Type: multipart/mixed; boundary=001a113ad0cc687227053e5e05f1 X-IsSubscribed: yes X-SW-Source: 2016-10/txt/msg00539.txt.bz2 --001a113ad0cc687227053e5e05f1 Content-Type: text/plain; charset=UTF-8 Content-length: 1126 On Fri, Sep 30, 2016 at 1:07 AM, Bernd Edlinger wrote: > On 09/29/16 22:38, Jason Merrill wrote: >> On Thu, Sep 29, 2016 at 3:58 PM, Bernd Edlinger >> wrote: >>> Unfortunately, without that exception there is a false positive: >>> >>> In file included from ../../gcc-trunk/gcc/ada/gcc-interface/decl.c:30:0: >>> ../../gcc-trunk/gcc/ada/gcc-interface/decl.c: In function 'int >>> adjust_packed(tree, tree, int)': >>> ../../gcc-trunk/gcc/tree.h:1874:22: error: << on signed integer in >>> boolean context [-Werror=int-in-bool-context] >>> ? ((unsigned)1) << ((NODE)->type_common.align - 1) : 0) >>> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> >> Ah, this issue again: the shift isn't in boolean context, it's in >> integer context. I think we want to be a lot more conservative about >> these warnings in the arms of a COND_EXPR. In fact, I think the >> entire >> >> /* Distribute the conversion into the arms of a COND_EXPR. */ >> >> section is wrong now that we're doing delayed folding. > > Could you take care of this ? Done thus: --001a113ad0cc687227053e5e05f1 Content-Type: text/plain; charset=US-ASCII; name="cond-bool.diff" Content-Disposition: attachment; filename="cond-bool.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iu1hkegk2 Content-length: 2888 Y29tbWl0IDBhMTI0YmJiNmYwNTk4MzQ1Yzk4ZTNhOTFmOGM2OTU0ODUxOGQ0 YzMKQXV0aG9yOiBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPgpE YXRlOiAgIEZyaSBTZXAgMzAgMTc6NTI6MjEgMjAxNiAtMDQwMAoKICAgICAg ICAgICAgRGVsYXkgZm9sZGluZyBvZiBib29sIGNvbnZlcnNpb24gaW50byBD T05EX0VYUFIuCiAgICAKICAgIGdjYy9jLWZhbWlseS8KICAgICAgICAgICAg KiBjLWNvbW1vbi5jIChjX2NvbW1vbl90cnV0aHZhbHVlX2NvbnZlcnNpb24p OiBEb24ndCBkaXN0cmlidXRlCiAgICAgICAgICAgIGludG8gQ09ORF9FWFBS IGluIEMrKy4KICAgIGdjYy9jcC8KICAgICAgICAgICAgKiBjcC1naW1wbGlm eS5jIChjcF9mb2xkKTogRGlzdHJpYnV0ZSBjcF90cnV0aHZhbHVlX2NvbnZl cnNpb24KICAgICAgICAgICAgaW50byBDT05EX0VYUFIuCgpkaWZmIC0tZ2l0 IGEvZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmMgYi9nY2MvYy1mYW1pbHkvYy1j b21tb24uYwppbmRleCBmN2E1ZDYyLi5kYmRiMjc2IDEwMDY0NAotLS0gYS9n Y2MvYy1mYW1pbHkvYy1jb21tb24uYworKysgYi9nY2MvYy1mYW1pbHkvYy1j b21tb24uYwpAQCAtNDY5NCwyMSArNDY5NCw4IEBAIGNfY29tbW9uX3RydXRo dmFsdWVfY29udmVyc2lvbiAobG9jYXRpb25fdCBsb2NhdGlvbiwgdHJlZSBl eHByKQogCX0KICAgICAgIC8qIERpc3RyaWJ1dGUgdGhlIGNvbnZlcnNpb24g aW50byB0aGUgYXJtcyBvZiBhIENPTkRfRVhQUi4gICovCiAgICAgICBpZiAo Y19kaWFsZWN0X2N4eCAoKSkKLQl7Ci0JICB0cmVlIG9wMSA9IFRSRUVfT1BF UkFORCAoZXhwciwgMSk7Ci0JICB0cmVlIG9wMiA9IFRSRUVfT1BFUkFORCAo ZXhwciwgMik7Ci0JICBpbnQgdyA9IHdhcm5faW50X2luX2Jvb2xfY29udGV4 dDsKLQkgIHdhcm5faW50X2luX2Jvb2xfY29udGV4dCA9IDA7Ci0JICAvKiBJ biBDKysgb25lIG9mIHRoZSBhcm1zIG1pZ2h0IGhhdmUgdm9pZCB0eXBlIGlm IGl0IGlzIHRocm93LiAgKi8KLQkgIGlmICghVk9JRF9UWVBFX1AgKFRSRUVf VFlQRSAob3AxKSkpCi0JICAgIG9wMSA9IGNfY29tbW9uX3RydXRodmFsdWVf Y29udmVyc2lvbiAobG9jYXRpb24sIG9wMSk7Ci0JICBpZiAoIVZPSURfVFlQ RV9QIChUUkVFX1RZUEUgKG9wMikpKQotCSAgICBvcDIgPSBjX2NvbW1vbl90 cnV0aHZhbHVlX2NvbnZlcnNpb24gKGxvY2F0aW9uLCBvcDIpOwotCSAgZXhw ciA9IGZvbGRfYnVpbGQzX2xvYyAobG9jYXRpb24sIENPTkRfRVhQUiwgdHJ1 dGh2YWx1ZV90eXBlX25vZGUsCi0JCQkJICBUUkVFX09QRVJBTkQgKGV4cHIs IDApLCBvcDEsIG9wMik7Ci0JICB3YXJuX2ludF9pbl9ib29sX2NvbnRleHQg PSB3OwotCSAgZ290byByZXQ7Ci0JfQorCS8qIEF2b2lkIHByZW1hdHVyZSBm b2xkaW5nLiAgKi8KKwlicmVhazsKICAgICAgIGVsc2UKIAl7CiAJICBpbnQg dyA9IHdhcm5faW50X2luX2Jvb2xfY29udGV4dDsKZGlmZiAtLWdpdCBhL2dj Yy9jcC9jcC1naW1wbGlmeS5jIGIvZ2NjL2NwL2NwLWdpbXBsaWZ5LmMKaW5k ZXggNWFjYThmMi4uNDg3OTYzMiAxMDA2NDQKLS0tIGEvZ2NjL2NwL2NwLWdp bXBsaWZ5LmMKKysrIGIvZ2NjL2NwL2NwLWdpbXBsaWZ5LmMKQEAgLTIyNTMs NiArMjI1MywxNSBAQCBjcF9mb2xkICh0cmVlIHgpCiAgICAgICBvcDEgPSBj cF9mb2xkIChUUkVFX09QRVJBTkQgKHgsIDEpKTsKICAgICAgIG9wMiA9IGNw X2ZvbGQgKFRSRUVfT1BFUkFORCAoeCwgMikpOwogCisgICAgICBpZiAoVFJF RV9DT0RFIChUUkVFX1RZUEUgKHgpKSA9PSBCT09MRUFOX1RZUEUpCisJewor CSAgd2FybmluZ19zZW50aW5lbCAod2Fybl9pbnRfaW5fYm9vbF9jb250ZXh0 KTsKKwkgIGlmICghVk9JRF9UWVBFX1AgKFRSRUVfVFlQRSAob3AxKSkpCisJ ICAgIG9wMSA9IGNwX3RydXRodmFsdWVfY29udmVyc2lvbiAob3AxKTsKKwkg IGlmICghVk9JRF9UWVBFX1AgKFRSRUVfVFlQRSAob3AyKSkpCisJICAgIG9w MiA9IGNwX3RydXRodmFsdWVfY29udmVyc2lvbiAob3AyKTsKKwl9CisKICAg ICAgIGlmIChvcDAgIT0gVFJFRV9PUEVSQU5EICh4LCAwKQogCSAgfHwgb3Ax ICE9IFRSRUVfT1BFUkFORCAoeCwgMSkKIAkgIHx8IG9wMiAhPSBUUkVFX09Q RVJBTkQgKHgsIDIpKQo= --001a113ad0cc687227053e5e05f1--