From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by sourceware.org (Postfix) with ESMTPS id 6618C384EF7D; Mon, 12 Dec 2022 19:50:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6618C384EF7D 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=1670874596; bh=Kt2I9dP1MSlVb1NGwpj91Jiz1BC6PVm0p4LwHiznsNY=; h=X-UI-Sender-Class:Date:Subject:To:Cc:References:From:In-Reply-To; b=F92XreJeQfh+0XrgDTpAcjVUEu2TjO0L6HkNU49MKHVbuFE9o8ch3zk9EqlhgXeZO al+Y5Z3hRK+r6i0sPPc4gUeGqDYQh35YAgqdcjL5kSUSwFYdqgpGNay+wCGGEqqk0q vlxW4jgzOJN0XK1qln1JgFlxA8kqRzxAK+2BSvvqmqsCpLCeWtG/NLPiQOtJYDBNQj M/U4PKuJOJhTEjr6bA4lqNXhbpx3YTFN6QYcPazaji/WCERvbbV8SRKlM1EUeX8EH1 hPlARSBzajgc4lEa464NEd6qkksagWtZr+Kt2kCBb2eM3owaf11x+qhhjI/HkoeK2W PwqxGDehIKmCQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.178.29] ([93.207.85.103]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MBm1e-1pEkxc20oW-00CDLk; Mon, 12 Dec 2022 20:49:56 +0100 Content-Type: multipart/mixed; boundary="------------SV6KKLBb7yV3ftAKyGLI7fM1" Message-ID: <16de1714-fb7d-de19-d8ab-0034bf082fd2@gmx.de> Date: Mon, 12 Dec 2022 20:49:50 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: Re: [PATCH] Fortran: improve checking of assumed size array spec [PR102180] Content-Language: en-US To: sgk@troutmask.apl.washington.edu, Harald Anlauf via Fortran Cc: gcc-patches Newsgroups: gmane.comp.gcc.patches,gmane.comp.gcc.fortran References: From: Harald Anlauf In-Reply-To: X-Provags-ID: V03:K1:6D1mI7m7s5w6a9PBQq6V/9vuhO7WonhWu3l1aBQNNIJPI1LlaXA bDwDch/AEAS0Whu/kq+5BPCYbBjwgOaVjaVJ4ZQMmelszbvkZlq0Pnl1UPQ9+s6JfUjTEb9 KUKPjNWoCdk4enULR3r7ftAPWTtqmBcwzGZ/ALPw11BnX71H8AWm5jLQ1fTq2vgih6fC9dT ZDn4BHKqqq5VtdKPVSktg== UI-OutboundReport: notjunk:1;M01:P0:0Tl7CwJNalA=;sVyJCHh6Bpz6t8n4htyIwlQJ9aO ncxGRSsPF/caZK7u59WU4SntPVNe/XbqiTAFqwZbCVBzpsrKP/o1sLUcn5vFDAK/uCkcf17jb aB+lnRfj61UXHIzHW7dvWOXUPKIGIwSLr8wgbFw1chOOOmdiijtgAIgR++f5FLabNYqom2q/G Pi82WZWCB/1MrH1/vc/Bb4nfacxhLctOfGJ9xM/Nxl9wh07V6JY9j9QplxBrIP+xsClI8DaM/ H0UPCIhzFbHrwAvv1NfKGd4/E0rLxYGaJ/dUOe3ITgZ3enTKEH+9j0b7Lkkwx3gsQG2HNThih BaykFcNHnbbGTK15tnpfTKvB41ZSmJVz+K+OEabIOUj8VR/CqlgazWBRDadv5bJv3fSQ1/dKN r9dg69hPfHUp5SfY9xLno0q19RSfcg6iCNOzRpbv4JsEaCGmROPLfzTYdWN5su98f+fomXQ8G dDTEGbDFkaRGr3gWkZWTbjJz9/CDbMBIN2IJP0wCx6cCPaQus2jOg76N2DJnlGTDDk6Hh/pb9 LABHmZYaSDgro5Sp6VHsJIaZih8cyOs0bTd/HlyFqXEFnmlvn742ajVAtZK31m4mhVXlJNHO5 FbRoF2qzsLlRYqC/JQAUk0Dj6bXUO8Mq2H8cs62GWmROWIQEryJjPKgQ4DeYRuiybZlJae5gU WnwbOLe8M9DJXdR9z1ChYu6LM7EKMOOBLoq1ta7QJjxojMQWswlaOG1xQXGCOrheYI77famGJ //8EH5IFknnztPgyNDXadF7GXmyoL5TUgBvMa5qykBraD8sSSxpmmG/dqip0UidhoOw1v4UmQ Mc80SZ8z6gUtO2/hBi0IE5UuhtGjwPwCmoT0dyfZFMs2e5454R6Tn+mF0zSpS7l/mvKmL12EM L9AXyRl743rI0t2tqcF+s90MTUw5787RFSIqd7SP5ukOf3C+Px5nbYN1hDzgo9T4LqCyvkALa UjeVvnI8jvR2xXX6gRQ2jOtarp8= X-Spam-Status: No, score=-13.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_LOW,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. --------------SV6KKLBb7yV3ftAKyGLI7fM1 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi Steve, Am 12.12.22 um 00:52 schrieb Steve Kargl via Gcc-patches: > On Sun, Dec 11, 2022 at 11:33:43PM +0100, Harald Anlauf via Fortran wrot= e: >> Dear all, >> >> the attached patch improves checking of array specs in two ways: >> - bad assumed size array spec >> - a bad first array element spec may already trigger an error, >> leading to a more consistent behavior >> >> Regtested on x86_64-pc-linux-gnu. OK for mainline? >> > > OK with minor nit. > >> + /* F2018:R821: "assumed-implied-spec is [ lower-bound : ] *". */ >> + if (gfc_match (" : * ") =3D=3D MATCH_YES) >> + { >> + gfc_error ("A lower bound must precede colon in " >> + "assumed size array specification at %C"); > > "assumed size" should likely be "assumed-size" good point, I've fixed that. I was a bit unhappy with the previously submitted patch, as it tried to match ':' twice and gave an unfortunate locus in the error message. I now chose to combine the adjacent matches and to remember a more suitable locus for use with the emitted error, see attached updated patch. Committed as r13-4623-gcf5327b89ab610. Thanks, Harald >> + return AS_UNKNOWN; >> + } >> + > > --------------SV6KKLBb7yV3ftAKyGLI7fM1 Content-Type: text/x-patch; charset=UTF-8; name="pr102180-v2.diff" Content-Disposition: attachment; filename="pr102180-v2.diff" Content-Transfer-Encoding: base64 RnJvbSBjZjUzMjdiODlhYjYxMDY0OWM1ZmFhYjc4ZWE3OTA3YmI3NGIxMDNjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYXJhbGQgQW5sYXVmIDxhbmxhdWZAZ214LmRlPgpE YXRlOiBTdW4sIDExIERlYyAyMDIyIDIzOjI0OjAzICswMTAwClN1YmplY3Q6IFtQQVRDSF0g Rm9ydHJhbjogaW1wcm92ZSBjaGVja2luZyBvZiBhc3N1bWVkLXNpemUgYXJyYXkgc3BlYwog W1BSMTAyMTgwXQoKZ2NjL2ZvcnRyYW4vQ2hhbmdlTG9nOgoKCVBSIGZvcnRyYW4vMTAyMTgw CgkqIGFycmF5LmNjIChtYXRjaF9hcnJheV9lbGVtZW50X3NwZWMpOiBBZGQgY2hlY2sgZm9y IGJhZAoJYXNzdW1lZC1pbXBsaWVkLXNwZWMuCgkoZ2ZjX21hdGNoX2FycmF5X3NwZWMpOiBS ZW9yZGVyIGxvZ2ljIHNvIHRoYXQgdGhlIGZpcnN0IGJhZCBhcnJheQoJZWxlbWVudCBzcGVj IG1heSB0cmlnZ2VyIGFuIGVycm9yLgoKZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CgoJUFIg Zm9ydHJhbi8xMDIxODAKCSogZ2ZvcnRyYW4uZGcvcHIxMDIxODAuZjkwOiBOZXcgdGVzdC4K LS0tCiBnY2MvZm9ydHJhbi9hcnJheS5jYyAgICAgICAgICAgICAgICAgICB8IDE5ICsrKysr KysrKysrKysrKystLS0KIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcHIxMDIxODAuZjkw IHwgMTkgKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvcHIxMDIxODAuZjkwCgpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4v YXJyYXkuY2MgYi9nY2MvZm9ydHJhbi9hcnJheS5jYwppbmRleCBiYmRiNWIzOTJmYy4uMTBk OWUwYzUzNTQgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL2FycmF5LmNjCisrKyBiL2djYy9m b3J0cmFuL2FycmF5LmNjCkBAIC00ODksNyArNDg5LDIwIEBAIG1hdGNoX2FycmF5X2VsZW1l bnRfc3BlYyAoZ2ZjX2FycmF5X3NwZWMgKmFzKQogICAgIH0KIAogICBpZiAoZ2ZjX21hdGNo X2NoYXIgKCc6JykgPT0gTUFUQ0hfWUVTKQotICAgIHJldHVybiBBU19ERUZFUlJFRDsKKyAg ICB7CisgICAgICBsb2N1cyBvbGRfbG9jID0gZ2ZjX2N1cnJlbnRfbG9jdXM7CisgICAgICBp ZiAoZ2ZjX21hdGNoX2NoYXIgKCcqJykgPT0gTUFUQ0hfWUVTKQorCXsKKwkgIC8qIEYyMDE4 OlI4MjE6ICJhc3N1bWVkLWltcGxpZWQtc3BlYyAgaXMgIFsgbG93ZXItYm91bmQgOiBdICoi LiAgKi8KKwkgIGdmY19lcnJvciAoIkEgbG93ZXIgYm91bmQgbXVzdCBwcmVjZWRlIGNvbG9u IGluICIKKwkJICAgICAiYXNzdW1lZC1zaXplIGFycmF5IHNwZWNpZmljYXRpb24gYXQgJUwi LCAmb2xkX2xvYyk7CisJICByZXR1cm4gQVNfVU5LTk9XTjsKKwl9CisgICAgICBlbHNlCisJ eworCSAgcmV0dXJuIEFTX0RFRkVSUkVEOworCX0KKyAgICB9CiAKICAgbSA9IGdmY19tYXRj aF9leHByICh1cHBlcik7CiAgIGlmIChtID09IE1BVENIX05PKQpAQCAtNTkxLDYgKzYwNCw4 IEBAIGdmY19tYXRjaF9hcnJheV9zcGVjIChnZmNfYXJyYXlfc3BlYyAqKmFzcCwgYm9vbCBt YXRjaF9kaW0sIGJvb2wgbWF0Y2hfY29kaW0pCiAgICAgewogICAgICAgYXMtPnJhbmsrKzsK ICAgICAgIGN1cnJlbnRfdHlwZSA9IG1hdGNoX2FycmF5X2VsZW1lbnRfc3BlYyAoYXMpOwor ICAgICAgaWYgKGN1cnJlbnRfdHlwZSA9PSBBU19VTktOT1dOKQorCWdvdG8gY2xlYW51cDsK IAogICAgICAgLyogTm90ZSB0aGF0IGN1cnJlbnRfdHlwZSA9PSBBU19BU1NVTUVEX1NJWkUg Zm9yIGJvdGggYXNzdW1lZC1zaXplCiAJIGFuZCBpbXBsaWVkLXNoYXBlIHNwZWNpZmljYXRp b25zLiAgSWYgdGhlIHJhbmsgaXMgYXQgbGVhc3QgMiwgd2UgY2FuCkBAIC02MDAsOCArNjE1 LDYgQEAgZ2ZjX21hdGNoX2FycmF5X3NwZWMgKGdmY19hcnJheV9zcGVjICoqYXNwLCBib29s IG1hdGNoX2RpbSwgYm9vbCBtYXRjaF9jb2RpbSkKIAogICAgICAgaWYgKGFzLT5yYW5rID09 IDEpCiAJewotCSAgaWYgKGN1cnJlbnRfdHlwZSA9PSBBU19VTktOT1dOKQotCSAgICBnb3Rv IGNsZWFudXA7CiAJICBhcy0+dHlwZSA9IGN1cnJlbnRfdHlwZTsKIAl9CiAgICAgICBlbHNl CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3ByMTAyMTgwLmY5MCBi L2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcHIxMDIxODAuZjkwCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jYmYzZTcyOTllNwotLS0gL2Rldi9udWxsCisr KyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcHIxMDIxODAuZjkwCkBAIC0wLDAgKzEs MTkgQEAKKyEgeyBkZy1kbyBjb21waWxlIH0KKyEgeyBkZy1vcHRpb25zICItZmNvYXJyYXk9 bGliIiB9CishIFBSIGZvcnRyYW4vMTAyMTgwIC0gSW1wcm92ZSBjaGVja2luZyBvZiBhc3N1 bWVkIHNpemUgYXJyYXkgc3BlYworCitzdWJyb3V0aW5lIHMoeCx5KQorICByZWFsIDo6IHgo MDoqKSAhIGxlZ2FsCisgIHJlYWwgOjogeVswOipdICEgbGVnYWwKK2VuZAorCitzdWJyb3V0 aW5lIHQoeCx5KQorICByZWFsIDo6IHgoOiopICEgeyBkZy1lcnJvciAiQSBsb3dlciBib3Vu ZCBtdXN0IHByZWNlZGUgY29sb24iIH0KKyAgcmVhbCA6OiB5WzoqXSAhIHsgZGctZXJyb3Ig IkEgbG93ZXIgYm91bmQgbXVzdCBwcmVjZWRlIGNvbG9uIiB9CitlbmQKKworc3Vicm91dGlu ZSB1KHgseSx6KQorICByZWFsIDo6IHgoMiwqKQorICByZWFsIDo6IHkoMiwyOiopCisgIHJl YWwgOjogeigyLDoqKSAhIHsgZGctZXJyb3IgIkEgbG93ZXIgYm91bmQgbXVzdCBwcmVjZWRl IGNvbG9uIiB9CitlbmQKLS0gCjIuMzUuMwoK --------------SV6KKLBb7yV3ftAKyGLI7fM1--