Message ID | Y91ah+TPG01V1g/A@tucnak |
---|---|
State | Unresolved |
Headers |
Return-Path: <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1039139wrn; Fri, 3 Feb 2023 12:16:11 -0800 (PST) X-Google-Smtp-Source: AK7set/Y2aXFRzZ+EDHgCSCeADMfXRtUHGkspFhxSHQ25Rm1WnER4lEvpxdnm9dIuSMT3mim4Lv5 X-Received: by 2002:a17:906:358b:b0:88e:35:427f with SMTP id o11-20020a170906358b00b0088e0035427fmr9630292ejb.73.1675455371146; Fri, 03 Feb 2023 12:16:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675455371; cv=none; d=google.com; s=arc-20160816; b=lmkoksw5/zx3pc9GAYJ2UPODlrkHunria89DQYQ+iSYN8kYM+kjS+rtxpDpxL9MEis 0SXE0fru8i0M3KUULBg0Mkhm3atnLoGn/6TAogskukNDe/hMu2+UZkrFc1+n3uXdOm6I tJVASyUM6/jpa7RLdP0zCSnX6TrQIkJhrM8rou+Sx8ErdXr3kHsORbUlK3XArWIYeI2U Iag9WfzZ2hoJTbbAVwLXRv+SOWvKfguSDUvBPUoguLqh6EL1ieFHwXK6D+3kcr9VigHC mWNNQLJs9eg9SEK3y3dCb5V7+2DLAl5FFJB1ql7v7Az5aX2kCFtlsC8e1oz4WHdY/nxs GA1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence :content-disposition:mime-version:message-id:subject:cc:to:date :resent-to:resent-message-id:resent-date:resent-from:dmarc-filter :delivered-to:dkim-signature:dkim-filter; bh=R1tgYGMGBLx+K+CawANhhmgHkTgo4G7roJruvCi7tLI=; b=x5SBRTHNGWoCs8pz1QZq/ItyU8DY0Go5xoHoVO4goIxrpIssUHQ1jPge9flSTTPiQw QI7rPEHt43fkLsIdTWrlqP2XRQ9ZGNGZ/NXC/Z72Z7dXO9WgO1efnODCso9tqS49g2BK YGKetrx6ThPPp8dRQzTGSUfFBK4LYvAen/iCTIJ7aN3Ca+5mZBDvY3NYEypXux9AcwUp 4N7B/YhNu2N62ylcDdBHmxD4vF4G1zjjmLdMFpsoWQICqJI4QAOasYIUmGxABd1KKNrT aQPeMbbR1usjn7v+Z0l2t6nvABgFY4foGSQYcKFhvvOAN/i6zckznV2TL9wr47iTO20T I6Ow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=cmkYwDja; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id ad24-20020a170907259800b007c10bb5b4b3si3740071ejc.681.2023.02.03.12.16.10 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Feb 2023 12:16:11 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=cmkYwDja; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 483203885C18 for <ouuuleilei@gmail.com>; Fri, 3 Feb 2023 20:15:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 483203885C18 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1675455305; bh=R1tgYGMGBLx+K+CawANhhmgHkTgo4G7roJruvCi7tLI=; h=Resent-From:Resent-Date:Resent-To:Date:To:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=cmkYwDjafXX9RT8W80iYmNq0BsRbG9vfD8RhotORbdD9M817x5iOWO4cFNIUKCEc0 u64XhBKOvnAbcdo4QAl4IGsuuWA5PN+fVFxJY+46TifXQtXjjehQwYmEviygwoFW3B FkXP0X6Ae0SK4CD5BNye2Nq9lfrWSnNBZHAGGg4k= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org 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 B164938493CC for <gcc-patches@gcc.gnu.org>; Fri, 3 Feb 2023 20:14:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B164938493CC Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-602-pe3QpR88OPSFsaM5HFff6Q-1; Fri, 03 Feb 2023 15:14:02 -0500 X-MC-Unique: pe3QpR88OPSFsaM5HFff6Q-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id BB43885A5B1; Fri, 3 Feb 2023 20:14:01 +0000 (UTC) Received: from tucnak.zalov.cz (unknown [10.39.192.223]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7CB6AC15BA0; Fri, 3 Feb 2023 20:14:01 +0000 (UTC) Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.17.1/8.17.1) with ESMTPS id 313KDxwZ1415131 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 3 Feb 2023 21:13:59 +0100 Received: (from jakub@localhost) by tucnak.zalov.cz (8.17.1/8.17.1/Submit) id 313KDwmq1415130; Fri, 3 Feb 2023 21:13:58 +0100 Resent-From: Jakub Jelinek <jakub@redhat.com> Resent-Date: Fri, 3 Feb 2023 21:13:58 +0100 Resent-Message-ID: <Y91rBm34D6HHUUE/@tucnak> Resent-To: fortran@gcc.gnu.org, gcc-patches@gcc.gnu.org Date: Fri, 3 Feb 2023 20:03:36 +0100 To: fortran@gcc.gnu.org Cc: gcc-patches@gcc.gnu.org Subject: [PATCH] fortran: Fix up hash table usage in gfc_trans_use_stmts [PR108451] Message-ID: <Y91ah+TPG01V1g/A@tucnak> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-3.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> From: Jakub Jelinek via Gcc-patches <gcc-patches@gcc.gnu.org> Reply-To: Jakub Jelinek <jakub@redhat.com> Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756842290889895745?= X-GMAIL-MSGID: =?utf-8?q?1756842290889895745?= |
Series |
fortran: Fix up hash table usage in gfc_trans_use_stmts [PR108451]
|
|
Checks
Context | Check | Description |
---|---|---|
snail/gcc-patch-check | warning | Git am fail log |
Commit Message
Jakub Jelinek
Feb. 3, 2023, 7:03 p.m. UTC
Hi! The first testcase in the PR (which I haven't included in the patch because it is unclear to me if it is supposed to be valid or not) ICEs since extra hash table checking has been added recently. The problem is that gfc_trans_use_stmts does tree *slot = entry->decls->find_slot_with_hash (rent->use_name, hash, INSERT); if (*slot == NULL) and later on doesn't store anything into *slot and continues. Another spot a few lines later correctly clears the slot if it decides not to use the slot, so the following patch does the same. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2023-02-03 Jakub Jelinek <jakub@redhat.com> PR fortran/108451 * trans-decl.cc (gfc_trans_use_stmts): Call clear_slot before doing continue. Jakub
Comments
On Fri, Feb 03, 2023 at 08:03:36PM +0100, Jakub Jelinek via Fortran wrote: > Hi! > > The first testcase in the PR (which I haven't included in the patch because > it is unclear to me if it is supposed to be valid or not) ICEs since extra > hash table checking has been added recently. The problem is that > gfc_trans_use_stmts does > tree *slot = entry->decls->find_slot_with_hash (rent->use_name, hash, > INSERT); > if (*slot == NULL) > and later on doesn't store anything into *slot and continues. Another spot > a few lines later correctly clears the slot if it decides not to use the > slot, so the following patch does the same. > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? > Yes. See my comment in the PR about the testcases being invalid Fortran.
--- gcc/fortran/trans-decl.cc.jj 2023-01-16 11:52:16.146733136 +0100 +++ gcc/fortran/trans-decl.cc 2023-02-03 14:41:40.503322954 +0100 @@ -5350,7 +5350,11 @@ gfc_trans_use_stmts (gfc_namespace * ns) /* Sometimes, generic interfaces wind up being over-ruled by a local symbol (see PR41062). */ if (!st->n.sym->attr.use_assoc) - continue; + { + *slot = error_mark_node; + entry->decls->clear_slot (slot); + continue; + } if (st->n.sym->backend_decl && DECL_P (st->n.sym->backend_decl)