From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) by sourceware.org (Postfix) with ESMTPS id 4917F3858C52; Fri, 2 Dec 2022 21:41:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4917F3858C52 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1670017279; bh=zhj1sySr/Bg4OEUBw10jpod9MkHePhvKrWvD5t/Wfas=; h=X-UI-Sender-Class:Date:Subject:To:Cc:References:From:In-Reply-To; b=j8B63m7a7kOWKOVkQhHYD3Ns1o1YBtO8BLWsVHSCXItQT8+4hQPME9U9quPFBfuQJ uNZ6rGTI8pQgtJHtWBbqb4iXEam7N51UBsr/p1qBC1O06ecsXr7WvWtSuVuJ8ks4gI KDHucWvgABT3vOh6BTqQYU8nZ4h0ZAd8Y7hIm5r8U5IHUuX/C1oEtG5y1mCM6c0bTD Om0GzrGdgrPhisHGfER3QhP+KJ3R1dP6bsfQrEZoFqoJ4DIZbbp65N1Ts98gAemwf3 /yHIYv23tzEsTvEizKBmDCoxMP4xBfUpoMzXls4DcOQzUuDDW505xMeYyTXvPiW/kj qDdADOgBwyO5g== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.178.29] ([93.207.90.76]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N6KUT-1ouvG20fM1-016buW; Fri, 02 Dec 2022 22:41:19 +0100 Content-Type: multipart/mixed; boundary="------------ziKVd9z1lrRV2ye7TAwa35Db" Message-ID: Date: Fri, 2 Dec 2022 22:41:18 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: Re: [PATCH] Fortran: intrinsic MERGE shall use all its arguments [PR107874] To: Paul Richard Thomas Cc: fortran , gcc-patches Newsgroups: gmane.comp.gcc.patches,gmane.comp.gcc.fortran References: Content-Language: en-US From: Harald Anlauf In-Reply-To: X-Provags-ID: V03:K1:xPYfpHyqc3/IOJNYYQTUf52LkVmIjE7Pgt7E2HRa3/R2QSkGrgP QXdw0KgH95mC2tRGza/YQI0jO6EGoZjMeDcoXVLkeTuYgdzW029UVVh7uPri1/voXUcYWWf 0R/3MIWHSPwf7FfrbCkcvLR2UguFBw2+mH/jas6pvLN6kTTkKxotbwjdr++UKpKLj4xIyZG OLoUYhaAXzhro54OGKa+w== UI-OutboundReport: notjunk:1;M01:P0:f6Kz+hzgRl4=;8pwZpol1drwlQELgrp8pNFwxqdM MzDvZdJScoZf1/w4VN1UrKkqoQBfP2sHfwn+i6m8uDdfcwYLSpPehmt9GYR/4Zajl4NEU38ou T/YjyJGVT/RoLSxjdygjCY6cy+fEt9UlwDF0gH9ELHvB+PS5C9tvqnfOkVKJW1kGRuuxX2tPc fOvHxJ5potB05NdrQnxW8gfqR4FqfuxE/VljKr3wJsIThmxcQEyOiAz4jp+ilmJgaIvu/CsHd SFcO700LoDWyeOdLbgslpkrimLzIJmITeiRJFt0J994IIH0rHWD8iwUgLny4PiGP9c+lJWx1M py7uzlqtgWG5v31OTDMVtqKsdvjRu1PgOutTI8/ZrAN8N76Ta9lUDwNeatgNofjeN2EpoHbwY hHY9vdczLyciXa7XvIdE+9f/2FUUdoQLCdB0nvhyQ3JSGkzAYj1nz+qcNUITHzuUj/UsssqWX bGdjOYINV0I8qzh4JWweG+c01l7ssV5p+nDjGs4ZtGOP9u66HmeezweWdJbL9yOVQw7wLMGTo Fr9svazVTn/ookEtDQqX6qM6UTccQ22qjLUAGTb30aEOyIzFTz/nnEp5kq+GeznKsDov3C72r AY6HY4De6QwZqTZWrBqMWfhd/zfk4lV48cUPKvmvI1YMJk30/mF4C8seu1c8Wr+hCmQksZ23t kxltErWK0K+cWYt0n3SQFG9H5Tb9/89f0lQE+TSfzGh3Rt9/ZzumW7QmG+G2HxWj8IeoJ4io+ EF3eC3zf1waIDBTLlY6IeIOdCSGNPIVi9Wyi/qXjinnWNS0hlYWdedaTpkxGefEXs5jioSbn9 eqi2IP+/57crHsOkATrwMx+Ho7ujVD2CEG+i2FJ7f7G2lWO8bXJ6qqkvSOfxGQCNVIJna2oWi rZFBK0GnkyGYEMlYv5bxuxEaLenQxnCadUeCZ+jFNzu2LBkPCQrnMy5I4uem5FdgF3G1Fip2i UGYTy/Zt9iVNswfx8iqDD0V6WEE= X-Spam-Status: No, score=-13.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_SHORT,NICE_REPLY_A,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,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. --------------ziKVd9z1lrRV2ye7TAwa35Db Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Dear all, I've committed an obvious fix for the testcase to avoid recursive I/O, as it did cause a hang on some systems: https://gcc.gnu.org/g:36a4ee406b95ae24a59b8b3f8ebe29af6fd5261e Confirmed by Jerry that this resolves his issue. See also attached. Thanks, Harald Am 29.11.22 um 09:08 schrieb Paul Richard Thomas via Gcc-patches: > Hi Harald, > > It looks good to me. > > Thanks to you and Steve for the patch. > > Paul > > > On Mon, 28 Nov 2022 at 20:05, Harald Anlauf via Fortran > wrote: > >> Dear all, >> >> as reported, the Fortran standard requires all actual argument >> expressions to be evaluated (e.g. F2018:15.5.3). >> >> There were two cases for intrinsic MERGE where we failed to do so: >> >> - non-constant mask; Steve provided the patch >> >> - constant scalar mask; we need to be careful to simplify only if >> the argument on the "other" path is known to be constant so that >> it does not have side-effects and can be immediately removed. >> >> The latter change needed a correction of a sub-test of testcase >> merge_init_expr_2.f90, which should not have been simplified >> the way the original author assumed. I decided to modify the >> test in such way that simplification is valid and provides >> the expect pattern. >> >> Regtested on x86_64-pc-linux-gnu. OK for mainline? >> >> Thanks, >> Harald >> > > --------------ziKVd9z1lrRV2ye7TAwa35Db Content-Type: text/x-patch; charset=UTF-8; name="pr107874-part2.diff" Content-Disposition: attachment; filename="pr107874-part2.diff" Content-Transfer-Encoding: base64 RnJvbSAzNmE0ZWU0MDZiOTVhZTI0YTU5YjhiM2Y4ZWJlMjlhZjZmZDUyNjFlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYXJhbGQgQW5sYXVmIDxhbmxhdWZAZ214LmRlPgpE YXRlOiBGcmksIDIgRGVjIDIwMjIgMjI6MzA6MTYgKzAxMDAKU3ViamVjdDogW1BBVENIXSBG b3J0cmFuOiBpbnRyaW5zaWMgTUVSR0Ugc2hhbGwgdXNlIGFsbCBpdHMgYXJndW1lbnRzCiBb UFIxMDc4NzRdCgpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKCglQUiBmb3J0cmFuLzEwNzg3 NAoJKiBnZm9ydHJhbi5kZy9tZXJnZV8xLmY5MDogQXZvaWQgcmVjdXJzaXZlIEkvTy4KLS0t CiBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL21lcmdlXzEuZjkwIHwgMjIgKysrKysrKysr KysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDcgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9tZXJn ZV8xLmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvbWVyZ2VfMS5mOTAKaW5kZXgg YWJiYzIyNzZiMWMuLjQzN2IxM2E4ZDNmIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL21lcmdlXzEuZjkwCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv bWVyZ2VfMS5mOTAKQEAgLTcsMzIgKzcsNDAgQEAgcHJvZ3JhbSB0ZXN0bWVyZ2U5CiAgIGlu dGVnZXIgOjogaQogICBsb2dpY2FsIDo6IHgoMikgPSAoLy50cnVlLiwgLmZhbHNlLi8pCiAg IGxvZ2ljYWwgOjogY2FsbGVkKDIpCisgIGxvZ2ljYWwgOjogeQogCiAgICEgQXQgcnVuLXRp bWUgYWxsIGFyZ3VtZW50cyBzaGFsbCBiZSBldmFsdWF0ZWQKICAgZG8gaSA9IDEsMgogICAg ICBjYWxsZWQgPSAuZmFsc2UuCi0gICAgIHByaW50ICosIG1lcmdlICh0c3R1ZmYoKSwgZnN0 dWZmKCksIHgoaSkpCisgICAgIHkgPSBtZXJnZSAodHN0dWZmKCksIGZzdHVmZigpLCB4KGkp KQorICAgICBwcmludCAqLCB5CiAgICAgIGlmIChhbnkgKC5ub3QuIGNhbGxlZCkpIHN0b3Ag MQogICBlbmQgZG8KIAogICAhIENvbXBpbGUtdGltZSBzaW1wbGlmaWNhdGlvbiBzaGFsbCBu b3QgZHJvcCBub24tY29uc3RhbnQgYXJncwogICBjYWxsZWQgPSAuZmFsc2UuCi0gIHByaW50 ICosIG1lcmdlICh0c3R1ZmYoKSxmc3R1ZmYoKSwudHJ1ZS4pCisgIHkgPSBtZXJnZSAodHN0 dWZmKCksZnN0dWZmKCksLnRydWUuKQorICBwcmludCAqLCB5CiAgIGlmIChhbnkgKC5ub3Qu IGNhbGxlZCkpIHN0b3AgMgogICBjYWxsZWQgPSAuZmFsc2UuCi0gIHByaW50ICosIG1lcmdl ICh0c3R1ZmYoKSxmc3R1ZmYoKSwuZmFsc2UuKQorICB5ID0gbWVyZ2UgKHRzdHVmZigpLGZz dHVmZigpLC5mYWxzZS4pCisgIHByaW50ICosIHkKICAgaWYgKGFueSAoLm5vdC4gY2FsbGVk KSkgc3RvcCAzCiAgIGNhbGxlZCA9IC5mYWxzZS4KLSAgcHJpbnQgKiwgbWVyZ2UgKHRzdHVm ZigpLC5mYWxzZS4sLnRydWUuKQorICB5ID0gbWVyZ2UgKHRzdHVmZigpLC5mYWxzZS4sLnRy dWUuKQorICBwcmludCAqLCB5CiAgIGlmIChhbnkgKGNhbGxlZCAubmVxdi4gWy50cnVlLiwu ZmFsc2UuXSkpIHN0b3AgNAogICBjYWxsZWQgPSAuZmFsc2UuCi0gIHByaW50ICosIG1lcmdl ICh0c3R1ZmYoKSwuZmFsc2UuLC5mYWxzZS4pCisgIHkgPSBtZXJnZSAodHN0dWZmKCksLmZh bHNlLiwuZmFsc2UuKQorICBwcmludCAqLCB5CiAgIGlmIChhbnkgKGNhbGxlZCAubmVxdi4g Wy50cnVlLiwuZmFsc2UuXSkpIHN0b3AgNQogICBjYWxsZWQgPSAuZmFsc2UuCi0gIHByaW50 ICosIG1lcmdlICgudHJ1ZS4sZnN0dWZmKCksLnRydWUuKQorICB5ID0gbWVyZ2UgKC50cnVl Lixmc3R1ZmYoKSwudHJ1ZS4pCisgIHByaW50ICosIHkKICAgaWYgKGFueSAoY2FsbGVkIC5u ZXF2LiBbLmZhbHNlLiwudHJ1ZS5dKSkgc3RvcCA2CiAgIGNhbGxlZCA9IC5mYWxzZS4KLSAg cHJpbnQgKiwgbWVyZ2UgKC50cnVlLixmc3R1ZmYoKSwuZmFsc2UuKQorICB5ID0gbWVyZ2Ug KC50cnVlLixmc3R1ZmYoKSwuZmFsc2UuKQorICBwcmludCAqLCB5CiAgIGlmIChhbnkgKGNh bGxlZCAubmVxdi4gWy5mYWxzZS4sLnRydWUuXSkpIHN0b3AgNwogY29udGFpbnMKICAgbG9n aWNhbCBmdW5jdGlvbiB0c3R1ZmYoKQotLSAKMi4zNS4zCgo= --------------ziKVd9z1lrRV2ye7TAwa35Db--