From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7871) id 161CE3858287; Thu, 29 Sep 2022 09:09:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 161CE3858287 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664442560; bh=QXwwyUAQ4Y7hEfqu4ifeYJnGWjXh45oEsevMwVRd86A=; h=From:To:Subject:Date:From; b=t3ERI1DJx0w+pPgq+OZpPa6TMonN1vzrTDmoEEzehWEMTCocN9TXOynfCROL6KGlj vPyiOxzhiLx9WebqVF2GCpt5aoGRtkysx7OfFl2oQL7GXtis/H1bxc4hZTE70e4I72 ybvdbirRPhnJslMl+/lO9Z5MQWGht7T5TMrUtpVw= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: =?iso-8859-1?q?Marc_Poulhi=E8s?= To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-2927] ada: Fix checking of Refined_State with nested package renamings X-Act-Checkin: gcc X-Git-Author: Piotr Trojanek X-Git-Refname: refs/heads/master X-Git-Oldrev: a1cd4d52d6ef90b977fb2d80c1cf17f3efa5b01d X-Git-Newrev: 01ea0437ead0dda3acd51cfb80a01de5feb56929 Message-Id: <20220929090920.161CE3858287@sourceware.org> Date: Thu, 29 Sep 2022 09:09:20 +0000 (GMT) List-Id: https://gcc.gnu.org/g:01ea0437ead0dda3acd51cfb80a01de5feb56929 commit r13-2927-g01ea0437ead0dda3acd51cfb80a01de5feb56929 Author: Piotr Trojanek Date: Fri Sep 23 19:06:54 2022 +0200 ada: Fix checking of Refined_State with nested package renamings When collecting package state declared in package body, we should only recursively examine the visible part of nested packages while ignoring other entities related to packages (e.g. package bodies or package renamings). gcc/ada/ * sem_util.adb (Collect_Visible_States): Ignore package renamings. Diff: --- gcc/ada/sem_util.adb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 9ae082ca2e1..25e886e1ca1 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -6018,8 +6018,11 @@ package body Sem_Util is Append_New_Elmt (Item_Id, States); -- Recursively gather the visible states of a nested package + -- except for nested package renamings. - elsif Ekind (Item_Id) = E_Package then + elsif Ekind (Item_Id) = E_Package + and then No (Renamed_Entity (Item_Id)) + then Collect_Visible_States (Item_Id, States); end if;