From patchwork Thu Nov 23 21:59:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Harald Anlauf X-Patchwork-Id: 1867988 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=gmx.de header.i=anlauf@gmx.de header.a=rsa-sha256 header.s=s31663417 header.b=HVYwssGn; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SbsVH6JDJz1yS0 for ; Fri, 24 Nov 2023 09:00:07 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 54E093882AF7 for ; Thu, 23 Nov 2023 22:00:04 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by sourceware.org (Postfix) with ESMTPS id CF4183838F0A; Thu, 23 Nov 2023 21:59:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CF4183838F0A Authentication-Results: sourceware.org; dmarc=pass (p=none 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 CF4183838F0A Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=212.227.17.22 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700776793; cv=none; b=e50nOOSSsEg01X9hLLGsV2xk6FbM6PHiOO1nu76ZJ0UODZll4+nC44Ve8nY0KoApieFeyEIpY7HY+Pxf6OJLEtmgMBOCYj4iiteMSdjB19zqerXy4kkV+Fc7v7Bz6Vf+r234fXmspE5pXbWd3hnvDnWo0ORHHhcDyiAhdb63vCw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700776793; c=relaxed/simple; bh=VprXl0H6cJ7dAVUgP3/msmC2q746ZLcW3rpi2DCWT7s=; h=DKIM-Signature:MIME-Version:Message-ID:From:To:Subject:Date; b=wVAe+yxweOqC8fk/Auotr2ttjiybhqyEGsWaTXuAowb+z0iEqV2JlRlc1bPsIRKE0QLWyPs8Je2oeRR9Tq3KeNRGNHb7guEuRcI4RFmxcP8xuNeDkiMpEDRschGwtKxj5B3i/YS2bWRK9bTSCU2UqUYAom63wxUa6k6wNEGqjx0= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1700776790; x=1701381590; i=anlauf@gmx.de; bh=VprXl0H6cJ7dAVUgP3/msmC2q746ZLcW3rpi2DCWT7s=; h=X-UI-Sender-Class:From:To:Subject:Date; b=HVYwssGnVcYq0lpxahLLHfBKoUWUshDsZMbHsilsCLgrGWgCDkI5OE1Pg/A8SH8z Iv9gK/oVskGhj5jJREdoA47bBP8iAbrMoa3FH+h8i6a6ywVXlwDPg0uGn1ozaGN6g VuHWn6RUv6RqNKOMzhVjAY94EafxISuOB65jrGhLY8m460H4VFmrDrj/wLx/DibgO fHNKy9Sdk77g6wehIPskbL8SCZbStxPMS4RC7H24Pn07SyzHrKJ9T9pt26yBnNWkx CkurCYGXzVyW6EjQ9Ut5r7qQPBa1HmXbpSYY1FSpMMUTHiFPkcQvzR6akPLFNDpN0 9Mom1ayCdtYN9v0w6w== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [79.251.10.12] ([79.251.10.12]) by web-mail.gmx.net (3c-app-gmx-bap03.server.lan [172.19.172.73]) (via HTTP); Thu, 23 Nov 2023 22:59:50 +0100 MIME-Version: 1.0 Message-ID: From: Harald Anlauf To: fortran , gcc-patches Subject: [PATCH] Fortran: avoid obsolescence warning for COMMON with submodule [PR111880] Date: Thu, 23 Nov 2023 22:59:50 +0100 Importance: normal Sensitivity: Normal X-Priority: 3 X-Provags-ID: V03:K1:wDD+eRBLAOaqIS9H8xLAXQX+LWK1/i1+/NeMCc5aV3ggGvB+MTtYqPDSBk5e0aP0FijaL PmUlrP0PfvHAxNtvmXMEvuNTYEEguxAqA5xmvFHU8ojzu/8ZWCExrPK4EAxhihTUicPbgh1y7nUN VWVHGOGt8by1eA4WHj5gRwvSwdQVIE5bW+vh9KF3iD1uY9QRKsoiLepZ9H9co1UZgJNsl3WA17gn NmI1ajPLQJyuIuOqxQBGMB79eS4GN/xdMDW/nhGf7EORJdK2zq78E+C6p9kRTJgnyGeD4SMJH42c dA= UI-OutboundReport: notjunk:1;M01:P0:5Bs4HTazvF0=;PDHDWoXoFS8Hlq7lXLTDwqPe/c/ /CLSp9U3/uUpBxquy7kKYrPsOJwknUH4RybyywmeTzKvTi8GFqp3Lk2PYSFW4DqO4//ZLMju9 nKVKH8xqykt5gk8S1Bn40dXXVr2/04QKreB83iHRS7iRudvFogDMwb2Fop2LpTzh/iPryJoWD fqSdk9OXseNMpje8r/uA7Nk/DZ4aztn/lIuQsC45qf1PMJanz5UqiM3UnplkAskS5AlPknt3o NOmcR3+55fzynrRtTMsj8kL0uqv0i1iYRVilp4vOmE8sEgwUfJrme4kIGpnZL0osrFk/4Se0p QpnZbF9LjBggtG8G2sN5dsnrT7KTPxSJOe0gxKF68NbNxjLnEey07CaPOfQ0kd1TinxdTJT8t T+1F1+KNYGepFJI8yHOcW5ffo6sfSdaP5/CPeL8DtWqq7pcu0+kqMiBubRaay+Lx+Aj0XV2nA bzGkKlr3qc02s+VesZI9tveIFB5TUFJYi6vigJZFC+oN2ds4QEi6ErgDBY/QL7Ia9lgfrd6+g uqZheO0bw2qVf5UUXLfwdZ/JhI6uoAjB7LpiZfEie9kQPZVdJkfnRx0wSaX8clNC2JBVzR8C+ aPJ3pAaDgiLyzcnmUO1qRyqbt57Hrp/vboFZx3WMwPjuEOlS9S332aTRK8/AmrtgHMuPZGshB CpOTTDgYn23gV2gWq+ziMwSAdW7S7F9FeJU5JHXnYnePmCxavn8PCf0R6GI+KKm5yMzY+UKfp F38aIZ96iBnXS90rHSrbnBNdsbqnjZ3tVOTnF/Kd+vkKiq01oWfMEl7McTRId4JBi2e/sHRQn xbh1VA3O9KP/GflaiWEz/dLcd64PF2MTF2QnZZDNED7vg= 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, 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Dear all, the PR is about a redundant obsolescence warning for COMMON when a symbols appears in the scope of a submodule. As we did not warn for use-associated symbols, it seemed natural to extend this to symbols that are used in a submodule. Or am I missing anything? Regtests cleanly on x86_64-pc-linux-gnu. OK for mainline? The PR is marked as a regression (the warning appeared in gcc-9). It looks simple enough for backporting, or does anybody see any risk here? Thanks, Harald From a962ab0417f5ff2efd51e710ae370d9f4a4b9f1a Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Thu, 23 Nov 2023 22:48:38 +0100 Subject: [PATCH] Fortran: avoid obsolescence warning for COMMON with submodule [PR111880] gcc/fortran/ChangeLog: PR fortran/111880 * resolve.cc (resolve_common_vars): Do not call gfc_add_in_common for symbols that are USE associated or used in a submodule. gcc/testsuite/ChangeLog: PR fortran/111880 * gfortran.dg/pr111880.f90: New test. --- gcc/fortran/resolve.cc | 4 ++-- gcc/testsuite/gfortran.dg/pr111880.f90 | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gfortran.dg/pr111880.f90 diff --git a/gcc/fortran/resolve.cc b/gcc/fortran/resolve.cc index 81a14653a04..166b702cd9a 100644 --- a/gcc/fortran/resolve.cc +++ b/gcc/fortran/resolve.cc @@ -986,8 +986,8 @@ resolve_common_vars (gfc_common_head *common_block, bool named_common) /* gfc_add_in_common may have been called before, but the reported errors have been ignored to continue parsing. - We do the checks again here. */ - if (!csym->attr.use_assoc) + We do the checks again here, unless the symbol is USE associated. */ + if (!csym->attr.use_assoc && !csym->attr.used_in_submodule) { gfc_add_in_common (&csym->attr, csym->name, &common_block->where); gfc_notify_std (GFC_STD_F2018_OBS, "COMMON block at %L", diff --git a/gcc/testsuite/gfortran.dg/pr111880.f90 b/gcc/testsuite/gfortran.dg/pr111880.f90 new file mode 100644 index 00000000000..c0cd98a93d4 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr111880.f90 @@ -0,0 +1,22 @@ +! { dg-do compile } +! { dg-options "-std=f2018" } +! PR fortran/111880 - redundant warning of obsolescent COMMON with submodule + +module third_party_module + integer :: some_param + common /not_my_code/ some_param ! { dg-warning "COMMON block" } +end module third_party_module + +module foo + use third_party_module + interface + module subroutine bar() + end subroutine bar + end interface +end module foo + +submodule (foo) foo_submod ! We do not need a warning here! +contains + module procedure bar + end procedure bar +end submodule foo_submod -- 2.35.3