From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 1FC173858D28 for ; Fri, 24 Mar 2023 22:11:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1FC173858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1679695908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=8/MwJImP4v98vKEAWk1VMRh0ytt5be0F0Rm4fg28q/U=; b=BZj+7qxne3OB8qA9iQGhboJ2aXM6G2Un19v7R/h9y6fMVn14CtbIb4fqVQa7IfJ3tfxkNK 3bb87KWmbC8BZHEidjkm3KObFjvzBhmNkt+yb0vxUTaCI5F6S7hD/KO8bpiwMCP65z8SYb s5pcJI2cfHMrOxG1Jok66CiqE2KCFoI= Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-76-B7QwVhCAO8-UKCGi6JBYAw-1; Fri, 24 Mar 2023 18:11:47 -0400 X-MC-Unique: B7QwVhCAO8-UKCGi6JBYAw-1 Received: by mail-qv1-f70.google.com with SMTP id oo15-20020a056214450f00b005a228adfcefso1705798qvb.2 for ; Fri, 24 Mar 2023 15:11:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679695906; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Mp5AwgLCqlosmrs7YJi4cUHiOQDj0Huw2aa46Ikm+wU=; b=Ik0ISW7dwFnV6hyyUr7K8oKwwkM8Bt3vebNwWUymNC9v8mBTslZ9pwf4mX/3SuTkqj W88brb3VxWT9tojVEre/4ts3WRk8nTvrjoKfLFL7jcvCMSLdTbT1WL01AtiDNp8Zzjrg OLKby/n37/1b+Ns4dbPrOZB4YatebnJAQakTtJFTr7+80Q0L77eaIv0iwJW0js/f5GYV 0NBKClap7TJhH1BXpiL3H+swRisfkfN6LrHNS0n2Ab9hbEutQt6ZgCC1aDX4qtzzLeWI 2gg+RYGs+9FdzxTxk3V4sbb5p5DNB3YAos/Bx8cniJTh7TfCuioNBHTln+GLrKWHqOrg Py1Q== X-Gm-Message-State: AAQBX9dvNUS6BFiOAcB0Tf2/+MOIilM1V1UuUP44yzcxIQCHsGscZCsf l8bDjXpNeKO5PjN9fQX3fY5KJsNTE3VrDMqvlTAJkzt2ScyxZ6pFhiGuCprOCZMLWdbW10rqxCm XUwj02egEoxHE12qgrlgchy1pBA== X-Received: by 2002:ad4:5ba5:0:b0:56b:ff69:7df8 with SMTP id 5-20020ad45ba5000000b0056bff697df8mr4850390qvq.51.1679695906430; Fri, 24 Mar 2023 15:11:46 -0700 (PDT) X-Google-Smtp-Source: AKy350Z3M3koQXttPhNfliCZcuazh5QlEZQq+ZPxGexpWvT2/MJJJ/WYLdC7wP2lRi+swsybhtosUw== X-Received: by 2002:ad4:5ba5:0:b0:56b:ff69:7df8 with SMTP id 5-20020ad45ba5000000b0056bff697df8mr4850370qvq.51.1679695906062; Fri, 24 Mar 2023 15:11:46 -0700 (PDT) Received: from [192.168.1.108] (130-44-159-43.s15913.c3-0.arl-cbr1.sbo-arl.ma.cable.rcncustomer.com. [130.44.159.43]) by smtp.gmail.com with ESMTPSA id d185-20020a37b4c2000000b007425ef4cbc2sm14589324qkf.100.2023.03.24.15.11.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 24 Mar 2023 15:11:45 -0700 (PDT) Message-ID: Date: Fri, 24 Mar 2023 18:11:44 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [PATCH RFC] c-family: -Wsequence-point and COMPONENT_REF [PR107163] To: Jakub Jelinek Cc: gcc-patches@gcc.gnu.org References: <20230323203507.2960052-1-jason@redhat.com> From: Jason Merrill In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------uEW3VFAmwNYCIO4zJiCVyLbS" Content-Language: en-US X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------uEW3VFAmwNYCIO4zJiCVyLbS Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 3/23/23 17:03, Jakub Jelinek wrote: > On Thu, Mar 23, 2023 at 04:35:07PM -0400, Jason Merrill wrote: >> Tested x86_64-pc-linux-gnu. Jakub, does this make sense to you? Do we have a >> way of testing for compile-hog regressions? >> >> -- 8< -- >> >> The patch for PR91415 fixed -Wsequence-point to treat shifts and ARRAY_REF >> as sequenced in C++17, and COMPONENT_REF as well. But this is unnecessary >> for COMPONENT_REF, since the RHS is just a FIELD_DECL with no actual >> evaluation, and in this testcase handling COMPONENT_REF as sequenced blows >> up fast in a deep inheritance tree. >> >> PR c++/107163 >> >> gcc/c-family/ChangeLog: >> >> * c-common.cc (verify_tree): Don't use sequenced handling >> for COMPONENT_REF. > > When we touch this for COMPONENT_REF, shouldn't we then handle it as > unary given that the second operand is FIELD_DECL and third/fourth > will likely be NULL and even if not, aren't user expressions that should be > inspected? > So, instead of doing this do: > case COMPONENT_REF: > x = TREE_OPERAND (x, 0); > writer = 0; > goto restart; > ? Is clearing 'writer' what we want, since an access to COMPONENT_REF is an access to (a subobject of) its op0? > As for compile-hog, depends on how long it will take it to compile before > fix/after fix. If before fix can be above the normal timeout on reasonably > fast matchines and after fix can take a few seconds, great Currently with the fix it takes <1s while gcc12 takes ~80s. > if after fix > would take longer but still not horribly long, one way to do it is > guard the test with run_expensive_tests effective target. Or another way > is have the test smaller in complexity normally and > // { dg-additional-options "-DEXPENSIVE" { target run_expensive_tests } } > and #ifdef EXPENSIVE make it more complex. Curiously, making the recursion much deeper doesn't work for that; I guess at some point the -Wsequence-point code decides the expression is too complex and gives up? But repeating the assignment brings it up over the timeout. How about this? --------------uEW3VFAmwNYCIO4zJiCVyLbS Content-Type: text/x-patch; charset=UTF-8; name="0001-c-family-Wsequence-point-and-COMPONENT_REF-PR107163.patch" Content-Disposition: attachment; filename*0="0001-c-family-Wsequence-point-and-COMPONENT_REF-PR107163.pat"; filename*1="ch" Content-Transfer-Encoding: base64 RnJvbSBiYjMwMmY5NzkyOWRmOWI4NTRmN2Y5MjkwOTM0NDFkYTYwMzA1MjU0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPgpEYXRl OiBUaHUsIDIzIE1hciAyMDIzIDE1OjU3OjM5IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gYy1mYW1p bHk6IC1Xc2VxdWVuY2UtcG9pbnQgYW5kIENPTVBPTkVOVF9SRUYgW1BSMTA3MTYzXQpUbzogZ2Nj LXBhdGNoZXNAZ2NjLmdudS5vcmcKClRoZSBwYXRjaCBmb3IgUFI5MTQxNSBmaXhlZCAtV3NlcXVl bmNlLXBvaW50IHRvIHRyZWF0IHNoaWZ0cyBhbmQgQVJSQVlfUkVGCmFzIHNlcXVlbmNlZCBpbiBD KysxNywgYW5kIENPTVBPTkVOVF9SRUYgYXMgd2VsbC4gIEJ1dCB0aGlzIGlzIHVubmVjZXNzYXJ5 CmZvciBDT01QT05FTlRfUkVGLCBzaW5jZSB0aGUgUkhTIGlzIGp1c3QgYSBGSUVMRF9ERUNMIHdp dGggbm8gYWN0dWFsCmV2YWx1YXRpb24sIGFuZCBpbiB0aGlzIHRlc3RjYXNlIGhhbmRsaW5nIENP TVBPTkVOVF9SRUYgYXMgc2VxdWVuY2VkIGJsb3dzCnVwIGZhc3QgaW4gYSBkZWVwIGluaGVyaXRh bmNlIHRyZWUuICBJbnN0ZWFkLCBsb29rIHRocm91Z2ggaXQuCgoJUFIgYysrLzEwNzE2MwoKZ2Nj L2MtZmFtaWx5L0NoYW5nZUxvZzoKCgkqIGMtY29tbW9uLmNjICh2ZXJpZnlfdHJlZSk6IERvbid0 IHVzZSBzZXF1ZW5jZWQgaGFuZGxpbmcKCWZvciBDT01QT05FTlRfUkVGLgoKZ2NjL3Rlc3RzdWl0 ZS9DaGFuZ2VMb2c6CgoJKiBnKysuZGcvdGVtcGxhdGUvcmVjdXJzZTUuQzogTmV3IHRlc3QuCi0t LQogZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmNjICAgICAgICAgICAgICAgICB8ICA1ICsrKy0KIGdj Yy90ZXN0c3VpdGUvZysrLmRnL3RlbXBsYXRlL3JlY3Vyc2U1LkMgfCAzNyArKysrKysrKysrKysr KysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZysrLmRnL3RlbXBsYXRlL3Jl Y3Vyc2U1LkMKCmRpZmYgLS1naXQgYS9nY2MvYy1mYW1pbHkvYy1jb21tb24uY2MgYi9nY2MvYy1m YW1pbHkvYy1jb21tb24uY2MKaW5kZXggYmZiOTUwZTU2ZGIuLjA3ZjdiZWFjOGZkIDEwMDY0NAot LS0gYS9nY2MvYy1mYW1pbHkvYy1jb21tb24uY2MKKysrIGIvZ2NjL2MtZmFtaWx5L2MtY29tbW9u LmNjCkBAIC0yMTU0LDEyICsyMTU0LDE1IEBAIHZlcmlmeV90cmVlICh0cmVlIHgsIHN0cnVjdCB0 bGlzdCAqKnBiZWZvcmVfc3AsIHN0cnVjdCB0bGlzdCAqKnBub19zcCwKIAogICAgIGNhc2UgTFNI SUZUX0VYUFI6CiAgICAgY2FzZSBSU0hJRlRfRVhQUjoKLSAgICBjYXNlIENPTVBPTkVOVF9SRUY6 CiAgICAgY2FzZSBBUlJBWV9SRUY6CiAgICAgICBpZiAoY3h4X2RpYWxlY3QgPj0gY3h4MTcpCiAJ Z290byBzZXF1ZW5jZWRfYmluYXJ5OwogICAgICAgZ290byBkb19kZWZhdWx0OwogCisgICAgY2Fz ZSBDT01QT05FTlRfUkVGOgorICAgICAgeCA9IFRSRUVfT1BFUkFORCAoeCwgMCk7CisgICAgICBn b3RvIHJlc3RhcnQ7CisKICAgICBkZWZhdWx0OgogICAgIGRvX2RlZmF1bHQ6CiAgICAgICAvKiBG b3Igb3RoZXIgZXhwcmVzc2lvbnMsIHNpbXBseSByZWN1cnNlIG9uIHRoZWlyIG9wZXJhbmRzLgpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvdGVtcGxhdGUvcmVjdXJzZTUuQyBiL2dj Yy90ZXN0c3VpdGUvZysrLmRnL3RlbXBsYXRlL3JlY3Vyc2U1LkMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLjAzNTRhYjA5ZjUzCi0tLSAvZGV2L251bGwKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nKysuZGcvdGVtcGxhdGUvcmVjdXJzZTUuQwpAQCAtMCwwICsxLDM3IEBACisv LyBQUiBjKysvMTA3MTYzCisvLyB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLVdzZXF1ZW5jZS1w b2ludCIgfQorCitzdHJ1Y3QgQmFzZVR5cGUgIHsKKyAgaW50IGk7Cit9OworCit0ZW1wbGF0ZTwg aW50IFNlcSA+CitjbGFzcyBEZXJpdmVkVHlwZSA6IHB1YmxpYyBEZXJpdmVkVHlwZTwgU2VxIC0g MSA+IHsgfTsKKwordGVtcGxhdGU8PgorY2xhc3MgRGVyaXZlZFR5cGU8IC0xID4gOiBwdWJsaWMg QmFzZVR5cGUgeyB9OworCitpbnQgbWFpbigpIHsKKyAgRGVyaXZlZFR5cGU8IDQwMCA+IGQ7Cisg IGQuaSA9IDQyOworICBkLmkgPSA0MjsKKyAgZC5pID0gNDI7CisgIGQuaSA9IDQyOworICBkLmkg PSA0MjsKKyAgZC5pID0gNDI7CisgIGQuaSA9IDQyOworICBkLmkgPSA0MjsKKyAgZC5pID0gNDI7 CisgIGQuaSA9IDQyOworICBkLmkgPSA0MjsKKyAgZC5pID0gNDI7CisgIGQuaSA9IDQyOworICBk LmkgPSA0MjsKKyAgZC5pID0gNDI7CisgIGQuaSA9IDQyOworICBkLmkgPSA0MjsKKyAgZC5pID0g NDI7CisgIGQuaSA9IDQyOworICBkLmkgPSA0MjsKKyAgcmV0dXJuIGQuaTsKK30KLS0gCjIuMzEu MQoK --------------uEW3VFAmwNYCIO4zJiCVyLbS--