From 017f48682c2498b4cde79cf6a1c2e09b6ad51e02 Mon Sep 17 00:00:00 2001 From: Yannick Moy Date: Mon, 16 May 2022 09:58:18 +0200 Subject: [PATCH] [Ada] Fix spurious errors on ghost code in generics After the recent fix for detecting illegal use of ghost entities in code, spurious errors could be raised on generic code with ghost, due to wrong setting of the ghost flags on copied entities from the generic to the instantiation. gcc/ada/ * atree.adb (New_Copy): Reset flags related to ghost entities before marking the new node. --- gcc/ada/atree.adb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/ada/atree.adb b/gcc/ada/atree.adb index a949761085e..2d7962c96b1 100644 --- a/gcc/ada/atree.adb +++ b/gcc/ada/atree.adb @@ -1775,6 +1775,11 @@ package body Atree is -- Mark the copy as Ghost depending on the current Ghost region + if Nkind (New_Id) in N_Entity then + Set_Is_Checked_Ghost_Entity (New_Id, False); + Set_Is_Ignored_Ghost_Entity (New_Id, False); + end if; + Mark_New_Ghost_Node (New_Id); New_Node_Debugging_Output (New_Id); -- 2.47.2