From: Marc Poulhiès Date: Wed, 21 Dec 2022 09:29:38 +0000 (+0100) Subject: ada: Fix nested generic instantiation X-Git-Tag: basepoints/gcc-14~2181 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=07facb98ed0db8771fd36e6c73921177c11b18ea;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb index 0f2dd39b53cf..1755549bd8b9 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