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 7D4673858CD1; Mon, 18 Mar 2024 18:51:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7D4673858CD1 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7D4673858CD1 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=212.227.15.19 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710787880; cv=none; b=q9Zp0Oi1M/oWPbsBwPcfgihOzsyz6WkLDL2GHwY3RSuPGJdrlo1pe9d4NUTyQYXiVX/FXEuvGtl42sQdRuD+Oeg4z9ak1MRncQomTM7onJAEjwDDhFsOl8oNkjnZ+YMzb3KElV3P77CeToccYhdUmWmOSpEpYL10ompcbjWV+j4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710787880; c=relaxed/simple; bh=x8ZBMe97DuE+oMX1kUEkKNf+GfbBV61YyUY5q/HqdUQ=; h=DKIM-Signature:MIME-Version:Message-ID:From:To:Subject:Date; b=QO9y6tzqiGxEOJrftrM+8ZGpL1rM+bCtXkLRnVcktoWd3tKQfp5ClfZ2zcIAzrO4yLDOs0wkNZD/ePzH3Uc/PyUiWjok1pf8BtBqjlFUldFra6EuONmoEBuFZzXSvfBnJfGPTkoYsK3xc+WKvwdPsKvnHob2nw9rzX9raiIltKI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1710787876; x=1711392676; i=anlauf@gmx.de; bh=P4JLZyVHcLtHUapNtamUK3YVRYM5qJEScVzmOTqxQI0=; h=X-UI-Sender-Class:From:To:Subject:Date; b=go/o5sw0RNU1lDdEDzto5vBDPuRb24AwLFKA4IenA/TZMEuMRlsRb3NQHeOxNyGH rM6eLs29d7x6zNnFKIN7YgtH5NSi6aMAcEvyqXWad6XbCKPNXSUHdJgMidB9CkBoX 26NM1U0CiMSomRnr6tFbSZAMQTNOs3MZ6Mo3CO4LGRSawm7kY/4VlZ/ipRS0ZgET8 ++CPHYbikRVfeyCjMk46NmkpXgOmhfqqVV/dFPiGMNW0EkEqfExc7l2lb9C8GM/zw RxsWjRHxrGuToCKoLCnLsr5IQ4URUEax5OKJEUCnMHtw9nIsmuKjijWhOo2/rXG63 wq3LZQv5zV6t1qyOlw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [79.232.158.196] ([79.232.158.196]) by web-mail.gmx.net (3c-app-gmx-bs24.server.lan [172.19.170.76]) (via HTTP); Mon, 18 Mar 2024 19:51:16 +0100 MIME-Version: 1.0 Message-ID: From: Harald Anlauf To: fortran , gcc-patches Subject: [PATCH, committed] Fortran: error recovery in frontend optimization [PR103715] Content-Type: multipart/mixed; boundary=nika-72bab898-8eeb-48d5-9bf3-ae03efbb9dda Date: Mon, 18 Mar 2024 19:51:16 +0100 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K1:n0h+w1WE6vrXUIwdC4/Rj2iqpPc/CDV2jd3RhhwWajVbR5hFsQAUDzoQKnjqQJVwaXnVr IXW/RrAFhJEbh+cyoIe3Gcx3OTFoT9Z5uBUbJFv9IOvqvx4XrJX69Y4N3iuvXaEtap3EyiZORNbR 1kMFRAP0xnfs0DmfQwg0xFE7iddKvyQFWtuZnWGe9fV7j/zs6K0WdJnZ+cXsjjEhFCyY09gtYqoc 8nnIUu4JgN0scOj8n8LpGqGFt0F+X/JJDouLnBCuITymX/1fTPTQiSuvfOGCVyu6V3qkQpwr1fjk tY= UI-OutboundReport: notjunk:1;M01:P0:l1gI93dm86o=;PulO0nLS93B2ePj8i741FCZtbDk U2BpB2k15Zfr5oX5j6Rg9SPf5/pC/kYrLrEqROkQB/QdFGuCKwXM+sDKOtWV1drfV7tneS1qk Q+Iu5GeT+d60CZO2wtGeJ2OfsQo2DP+5Sld9MKgQj0N+GZJLbYdoCDZ+S7OFariwhLKKItfs8 73+Z/d2W1irZJyjnh+5YybKCPOqfWjC1JgQvj1nbto2a874dJk0FxnnPpCPcV3uXB1BIo5w7B DfchLYDT/9x5msFjm4MnNHbjQs7SPzo4k+8/t+1K6CcrcoFlK6hbetSefyBk3Mvulx29a7jFz +QiKoGl4hAKCehLd9Tg19N1iunHExLX/bUyBkUIaEXCuxU83qc1ToBm/NPvOTcBzEfPDWGrrc KgYjoryj/MZw4C4R0OKV7DRgsa6eiCzgqV0Ybwneu4Od7iywTjLJdo0EvuErchD1M7HLYAKmq PGfLKhyuLVJWPA6u/iLy6qcLOiVcOZMhju4+qsw41uyUvc0LhHuUEVSUFM3s5yV/1wFb7Tesc CFYBz1lnHHxYrnJOr6lw++Iul0zexfcK9Tuo+Fe3dxA2YhLjfhUPnWjdCfhS7JfOh8zUjKIyP dKyLZdkliihHXz5Eb4PGQKiQkkBiOLVAHWoTPibmJ7VCUhdjqTXRraYzldNcmL0pKx1/VcBq3 guZj8HtNYj/k+1jW/IkjYRKPRhsaAUqOmdZj9s4tEZRPQ64/HYhSll6H3Uet2vc= X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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: --nika-72bab898-8eeb-48d5-9bf3-ae03efbb9dda Content-Type: text/plain; charset=UTF-8 Dear all, I've committed the attached simple & obvious patch for an ICE due to an invalid read in frontend optimization after regtesting and an OK by Jerry in the PR. Pushed: https://gcc.gnu.org/g:3be2b8f475f22c531d6cef1b041c0573b3ea5133 As this PR is marked as a regression, I plan to backport to open branches. Thanks, Harald --nika-72bab898-8eeb-48d5-9bf3-ae03efbb9dda Content-Type: text/x-patch Content-Disposition: attachment; filename=pr103715.diff Content-Transfer-Encoding: quoted-printable =46rom 3be2b8f475f22c531d6cef1b041c0573b3ea5133 Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Mon, 18 Mar 2024 19:36:59 +0100 Subject: [PATCH] Fortran: error recovery in frontend optimization [PR10371= 5] gcc/fortran/ChangeLog: PR fortran/103715 * frontend-passes.cc (check_externals_expr): Prevent invalid read in case of mismatch of external subroutine with function. gcc/testsuite/ChangeLog: PR fortran/103715 * gfortran.dg/pr103715.f90: New test. =2D-- gcc/fortran/frontend-passes.cc | 3 +++ gcc/testsuite/gfortran.dg/pr103715.f90 | 12 ++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/pr103715.f90 diff --git a/gcc/fortran/frontend-passes.cc b/gcc/fortran/frontend-passes.= cc index 06dfa1a3232..3c06018fdbb 100644 =2D-- a/gcc/fortran/frontend-passes.cc +++ b/gcc/fortran/frontend-passes.cc @@ -5807,6 +5807,9 @@ check_externals_expr (gfc_expr **ep, int *walk_subtr= ees ATTRIBUTE_UNUSED, if (e->expr_type !=3D EXPR_FUNCTION) return 0; + if (e->symtree && e->symtree->n.sym->attr.subroutine) + return 0; + sym =3D e->value.function.esym; if (sym =3D=3D NULL) return 0; diff --git a/gcc/testsuite/gfortran.dg/pr103715.f90 b/gcc/testsuite/gfortr= an.dg/pr103715.f90 new file mode 100644 index 00000000000..72c5a31fb21 =2D-- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr103715.f90 @@ -0,0 +1,12 @@ +! { dg-do compile } +! PR fortran/103715 - ICE in gfc_find_gsymbol +! +! valgrind did report an invalid read in check_externals_procedure + +program p + select type (y =3D> g()) ! { dg-error "Selector shall be polymorphic" } + end select + call g() +end + +! { dg-prune-output "already being used as a FUNCTION" } =2D- 2.35.3 --nika-72bab898-8eeb-48d5-9bf3-ae03efbb9dda--