From 07facb98ed0db8771fd36e6c73921177c11b18ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Poulhi=C3=A8s?= Date: Wed, 21 Dec 2022 10:29:38 +0100 Subject: ada: Fix nested generic instantiation Previous fix for generic instantiation was not precise enough and could wrongly assume the instantiation node to be an N_Expanded_Name. gcc/ada/ * sem_ch12.adb (Instantiate_Package_Body): Better filtering when installing parent on the scope stack. --- gcc/ada/sem_ch12.adb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb index 0f2dd39..1755549 100644 --- a/gcc/ada/sem_ch12.adb +++ b/gcc/ada/sem_ch12.adb @@ -12182,6 +12182,9 @@ package body Sem_Ch12 is elsif Ekind (Scope (Gen_Unit)) = E_Generic_Package and then Ekind (Scope (Act_Decl_Id)) = E_Package and then Is_Generic_Instance (Scope (Act_Decl_Id)) + and then Nkind + (Name (Get_Unit_Instantiation_Node + (Scope (Act_Decl_Id)))) = N_Expanded_Name then Par_Ent := Entity (Prefix (Name (Get_Unit_Instantiation_Node -- cgit v1.1