From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi1-x234.google.com (mail-oi1-x234.google.com [IPv6:2607:f8b0:4864:20::234]) by sourceware.org (Postfix) with ESMTPS id 8C8513858D28; Sat, 17 Jun 2023 09:14:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8C8513858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oi1-x234.google.com with SMTP id 5614622812f47-39c84863e34so1294933b6e.2; Sat, 17 Jun 2023 02:14:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686993294; x=1689585294; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=gfZS/B8kNFiDTPllDC1vBluD4YFATIX5c6T1gdPdYjI=; b=NCvkb5V8vGGeZph9g+IlYaqUBUCtb42KDpAosLUddoZVUYd4osc6L9Jrb5X3vYITGG ZtkxnD25oyHXfeIrtuaqbJF47KrG7ny8oM2bA3P4hxzl/5rw2fK5h4yq6cEFL2wbzmIJ 84yk5uXHF6sI0Z5D2Kpl4v79zLBN8ZrTZT4qvj/+henSjSsH6RqhO9/smihrxciKqtb0 DXeLuzbNvHr1cGX3feg0SnxPBliKx5bUnCqciAhAAhVhhXn50LV24WLIDj9eZRRXFElJ CNdynLYQKzr1gM0eObQ7ZooVN6h9IED15YoDjCE7Hhvx2iFfbDCBIvTwFTygE0WVr77G bYCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686993294; x=1689585294; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=gfZS/B8kNFiDTPllDC1vBluD4YFATIX5c6T1gdPdYjI=; b=hCqmZWd7xN05fyHyNJzThAtDS3aNdlxAORP7e25D+kdi24H9jJYJq3zFF+1mhXZojp 7VB7ykJbOg6BTsgQwsORau7mObK9IY888/ZuIrtWgd1I/61hHR+7MrxmoE8uoIuJ0FoF wRizoVvE7NIkHY59MGlL0XPphv5f0k4fluWBBI8wB6/H9tGqn5ZNqr6SUnIImDdI12sZ FhnLtQ2lR904LmgawReaZKB5AT6ov3yewCZD54MbALHUuN1MZ37IZdShng7lbz7I+hKN kMp8MgmQdgHvdPga8dg90fkUI9Y0Ws51fBOCmXAHoPGX2ukKo4T/Mgdlga84p677WeTV Hx0g== X-Gm-Message-State: AC+VfDyV7ygjCk5dAJ4W52pAf6JzsQ5Gl+mhD/TWx2+a4FRu0fPdX/qU FpSiJq4ODGm0JA82TzOU0gPMRhEiu05feVwZlx2s3lsI X-Google-Smtp-Source: ACHHUZ5BfK8qdVbwrpMdbsAPIBBauNunhSjbv7wRcPh2io/OCQj3xR1Vb1BJcwnHNC+zFfYVuerr8VYaVk3zi/ZwCDI= X-Received: by 2002:a54:440b:0:b0:38e:d739:6f3f with SMTP id k11-20020a54440b000000b0038ed7396f3fmr4572226oiw.56.1686993294180; Sat, 17 Jun 2023 02:14:54 -0700 (PDT) MIME-Version: 1.0 From: Paul Richard Thomas Date: Sat, 17 Jun 2023 10:14:43 +0100 Message-ID: Subject: [Patch, fortran] PR107900 Select type with intrinsic type inside associate causes ICE / Segmenation fault To: "fortran@gcc.gnu.org" , gcc-patches Content-Type: multipart/mixed; boundary="0000000000000a98b905fe4fbc1e" X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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: --0000000000000a98b905fe4fbc1e Content-Type: text/plain; charset="UTF-8" Hi All, The attached patch is amply described by the comments and the changelog. It also includes the fix for the memory leak in decl.cc, as promised some days ago. OK for trunk? Regards Paul PS This leaves 89645 and 99065 as the only real blockers to PR87477. These will take a little while to fix. They come about because the type of the associate name is determined by that of a derived type function that hasn't been parsed at the time that component references are being parsed. If the order of the contained procedures is reversed, both test cases compile correctly. The fix will comprise matching the component name to the accessible derived types, while keeping track of all the references in case the match is ambiguous and has to be fixed up later. --0000000000000a98b905fe4fbc1e Content-Type: application/octet-stream; name="Change107900.Logs" Content-Disposition: attachment; filename="Change107900.Logs" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lizs82270 Rm9ydHJhbjogRml4IHNvbWUgYSBidWcgaW4gYXNzb2NpYXRlIFtQUjg3NDc3XQoKMjAyMy0wNi0x NyAgUGF1bCBUaG9tYXMgIDxwYXVsdEBnY2MuZ251Lm9yZz4KCmdjYy9mb3J0cmFuCglQUiBmb3J0 cmFuLzg3NDc3CglQUiBmb3J0cmFuLzEwNzkwMAoJKiBkZWNsLmNjIChjaGFyX2xlbl9wYXJhbV92 YWx1ZSk6IEZpeCBtZW1vcnkgbGVhay4KCShyZXNvbHZlX2Jsb2NrX2NvbnN0cnVjdCk6IFJlbW92 ZSB1bm5lY2Vzc2FyeSBzdGF0aWMgZGVjbHMuCgkqIHRyYW5zLWRlY2wuY2MgKGdmY19nZXRfc3lt Ym9sX2RlY2wpOiBVbmxpbWl0ZWQgcG9seW1vcnBoaWMKCXZhcmlhYmxlcyBuZWVkIGRlZmVycmVk IGluaXRpYWxpc2F0aW9uIG9mIHRoZSB2cHRyLgoJKGdmY190cmFuc19kZWZlcnJlZF92YXJzKTog RG8gdGhlIHZwdHIgaW5pdGlhbGlzYXRpb24uCgpnY2MvdGVzdHN1aXRlLwoJUFIgZm9ydHJhbi84 NzQ3NwoJUFIgZm9ydHJhbi8xMDc5MDAKCSogZ2ZvcnRyYW4uZGcvcHIxMDc5MDAuZjkwIDogTmV3 IHRlc3QK --0000000000000a98b905fe4fbc1e Content-Type: text/x-patch; charset="US-ASCII"; name="pr107900.diff" Content-Disposition: attachment; filename="pr107900.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lizs8ant1 ZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL2RlY2wuY2MgYi9nY2MvZm9ydHJhbi9kZWNsLmNjCmlu ZGV4IGQwOWM4YmM5N2Q5Li44NDQzNDVkZjc3ZSAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vZGVj bC5jYworKysgYi9nY2MvZm9ydHJhbi9kZWNsLmNjCkBAIC0xMDg2LDYgKzEwODYsOCBAQCBjaGFy X2xlbl9wYXJhbV92YWx1ZSAoZ2ZjX2V4cHIgKipleHByLCBib29sICpkZWZlcnJlZCkKICAgcCA9 IGdmY19jb3B5X2V4cHIgKCpleHByKTsKICAgaWYgKGdmY19pc19jb25zdGFudF9leHByIChwKSAm JiBnZmNfc2ltcGxpZnlfZXhwciAocCwgMSkpCiAgICAgZ2ZjX3JlcGxhY2VfZXhwciAoKmV4cHIs IHApOworICBlbHNlCisgICAgZ2ZjX2ZyZWVfZXhwciAocCk7CiAKICAgaWYgKCgqZXhwciktPmV4 cHJfdHlwZSA9PSBFWFBSX0ZVTkNUSU9OKQogICAgIHsKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFu L3RyYW5zLWRlY2wuY2MgYi9nY2MvZm9ydHJhbi90cmFucy1kZWNsLmNjCmluZGV4IGU2YTQzMzdj MGQyLi5hYjVmOTRlOWYwMyAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vdHJhbnMtZGVjbC5jYwor KysgYi9nY2MvZm9ydHJhbi90cmFucy1kZWNsLmNjCkBAIC0xODc1LDYgKzE4NzUsMTMgQEAgZ2Zj X2dldF9zeW1ib2xfZGVjbCAoZ2ZjX3N5bWJvbCAqIHN5bSkKIAkgICYmICEoc3ltLT5hdHRyLnVz ZV9hc3NvYyAmJiAhaW50cmluc2ljX2FycmF5X3BhcmFtZXRlcikpKQogICAgIGdmY19kZWZlcl9z eW1ib2xfaW5pdCAoc3ltKTsKIAorICAvKiBOdWxsaWZ5IHNvIHRoYXQgc2VsZWN0IHR5cGUgZG9l c24ndCBmYWxsIG92ZXIgaWYgdGhlIHZhcmlhYmxlCisgICAgIGlzIG5vdCBhc3NvY2lhdGVkLiAg Ki8KKyAgaWYgKHN5bS0+dHMudHlwZSA9PSBCVF9DTEFTUyAmJiBVTkxJTUlURURfUE9MWSAoc3lt KQorICAgICAgJiYgc3ltLT5hdHRyLmZsYXZvciA9PSBGTF9WQVJJQUJMRSAmJiAhc3ltLT5hc3Nv YworICAgICAgJiYgIXN5bS0+YXR0ci5kdW1teSAmJiBDTEFTU19EQVRBIChzeW0pLT5hdHRyLmNs YXNzX3BvaW50ZXIpCisgICAgZ2ZjX2RlZmVyX3N5bWJvbF9pbml0IChzeW0pOworCiAgIGlmIChz eW0tPnRzLnR5cGUgPT0gQlRfQ0hBUkFDVEVSCiAgICAgICAmJiBzeW0tPmF0dHIuYWxsb2NhdGFi bGUKICAgICAgICYmICFzeW0tPmF0dHIuZGltZW5zaW9uCkBAIC0xOTA2LDYgKzE5MTMsNyBAQCBn ZmNfZ2V0X3N5bWJvbF9kZWNsIChnZmNfc3ltYm9sICogc3ltKQogCWdjY19hc3NlcnQgKCFzeW0t PnZhbHVlIHx8IHN5bS0+dmFsdWUtPmV4cHJfdHlwZSA9PSBFWFBSX05VTEwpOwogICAgIH0KIAor CiAgIGdmY19maW5pc2hfdmFyX2RlY2wgKGRlY2wsIHN5bSk7CiAKICAgaWYgKHN5bS0+dHMudHlw ZSA9PSBCVF9DSEFSQUNURVIpCkBAIC00NjUyLDYgKzQ2NjAsMjEgQEAgZ2ZjX3RyYW5zX2RlZmVy cmVkX3ZhcnMgKGdmY19zeW1ib2wgKiBwcm9jX3N5bSwgZ2ZjX3dyYXBwZWRfYmxvY2sgKiBibG9j aykKICAgICAgIGlmIChzeW0tPmFzc29jKQogCWNvbnRpbnVlOwogCisgICAgICAvKiBOdWxsaWZ5 IHVubGltaXRlZCBwb2x5bW9ycGhpYyB2YXJpYWJsZXMgc28gdGhhdCB0aGV5IGRvIG5vdCBjYXVz ZQorCSBzZWdmYXVsdHMgaW4gc2VsZWN0IHR5cGUsIHdoZW4gdGhlIHNlbGVjdG9yIGlzIGFuIGlu dHJpbnNpYyB0eXBlLiAgKi8KKyAgICAgIGlmIChzeW0tPnRzLnR5cGUgPT0gQlRfQ0xBU1MgJiYg VU5MSU1JVEVEX1BPTFkgKHN5bSkKKwkgICYmIHN5bS0+YXR0ci5mbGF2b3IgPT0gRkxfVkFSSUFC TEUgJiYgIXN5bS0+YXNzb2MKKwkgICYmICFzeW0tPmF0dHIuZHVtbXkgJiYgQ0xBU1NfREFUQSAo c3ltKS0+YXR0ci5jbGFzc19wb2ludGVyKQorCXsKKwkgIGdmY19leHByICpsaHMgPSBnZmNfbHZh bF9leHByX2Zyb21fc3ltIChzeW0pOworCSAgZ2ZjX2V4cHIgKnJocyA9IGdmY19nZXRfbnVsbF9l eHByIChOVUxMKTsKKwkgIHRtcCA9IGdmY190cmFuc19wb2ludGVyX2Fzc2lnbm1lbnQgKGxocywg cmhzKTsKKwkgIGdmY19pbml0X2Jsb2NrICgmdG1wYmxvY2spOworCSAgZ2ZjX2FkZF9leHByX3Rv X2Jsb2NrICgmdG1wYmxvY2ssIHRtcCk7CisJICBnZmNfYWRkX2luaXRfY2xlYW51cCAoYmxvY2ss IGdmY19maW5pc2hfYmxvY2sgKCZ0bXBibG9jayksIE5VTEwpOworCSAgY29udGludWU7CisJfQor CiAgICAgICBpZiAoc3ltLT50cy50eXBlID09IEJUX0RFUklWRUQKIAkgICYmIHN5bS0+dHMudS5k ZXJpdmVkCiAJICAmJiBzeW0tPnRzLnUuZGVyaXZlZC0+YXR0ci5wZHRfdHlwZSkKZGlmZiAtLWdp dCBhL2djYy9mb3J0cmFuL3RyYW5zLWV4cHIuY2MgYi9nY2MvZm9ydHJhbi90cmFucy1leHByLmNj CmluZGV4IDQ1YTk4NGI2YmRiLi5lZWFlMTM5OThhMyAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4v dHJhbnMtZXhwci5jYworKysgYi9nY2MvZm9ydHJhbi90cmFucy1leHByLmNjCkBAIC0xMDAzNCw2 ICsxMDAzNCwxOSBAQCBnZmNfdHJhbnNfcG9pbnRlcl9hc3NpZ25tZW50IChnZmNfZXhwciAqIGV4 cHIxLCBnZmNfZXhwciAqIGV4cHIyKQogCQkJICAgIGJ1aWxkX3plcm9fY3N0IChUUkVFX1RZUEUg KGxzZS5zdHJpbmdfbGVuZ3RoKSkpOwogCX0KIAorICAgICAgLyogVW5saW1pdGVkIHBvbHltb3Jw aGljIGFycmF5cywgbnVsbGlmaWVkIGluIGdmY190cmFuc19kZWZlcnJlZF92YXJzLAorICAgICAg ICAgYXJyaXZlIGhlcmUgYXMgYSBzY2FsYXIgZXhwci4gRmluZCB0aGUgZGVzY3JpcHRvciBkYXRh IGZpZWxkLiAgKi8KKyAgICAgIGlmIChleHByMS0+dHMudHlwZSA9PSBCVF9DTEFTUyAmJiBVTkxJ TUlURURfUE9MWSAoZXhwcjEpCisJICAmJiBleHByMi0+ZXhwcl90eXBlID09IEVYUFJfTlVMTAor CSAgJiYgIWV4cHIxLT5yZWYgJiYgIWV4cHIxLT5yYW5rCisJICAmJiAoQ0xBU1NfREFUQSAoZXhw cjEpLT5hdHRyLmRpbWVuc2lvbgorCSAgICAgIHx8IENMQVNTX0RBVEEgKGV4cHIxKS0+YXR0ci5j b2RpbWVuc2lvbikpCisJeworCSAgbHNlLmV4cHIgPSBnZmNfZ2V0X2NsYXNzX2Zyb21fZXhwciAo bHNlLmV4cHIpOworCSAgbHNlLmV4cHIgPSBnZmNfY2xhc3NfZGF0YV9nZXQgKGxzZS5leHByKTsK KwkgIGxzZS5leHByID0gZ2ZjX2NvbnZfZGVzY3JpcHRvcl9kYXRhX2dldCAobHNlLmV4cHIpOwor CX0KKwogICAgICAgZ2ZjX2FkZF9tb2RpZnkgKCZibG9jaywgbHNlLmV4cHIsCiAJCSAgICAgIGZv bGRfY29udmVydCAoVFJFRV9UWVBFIChsc2UuZXhwciksIHJzZS5leHByKSk7CiAK --0000000000000a98b905fe4fbc1e--