From: Eric Botcazou Date: Fri, 24 Jun 2022 17:28:53 +0000 (+0200) Subject: [Ada] Also deal with private actual types in latest change X-Git-Tag: basepoints/gcc-14~5529 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=258814a99e74fcc1ab9cccb16b4d14c997d83690;p=thirdparty%2Fgcc.git [Ada] Also deal with private actual types in latest change gcc/ada/ * gcc-interface/decl.cc (Gigi_Cloned_Subtype): Handle private case. --- diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc index 8449c991e2b..53c84613e6a 100644 --- a/gcc/ada/gcc-interface/decl.cc +++ b/gcc/ada/gcc-interface/decl.cc @@ -5171,6 +5171,19 @@ Gigi_Cloned_Subtype (Entity_Id gnat_entity) && Present (Generic_Parent_Type (gnat_decl)) && Is_Entity_Name (Subtype_Indication (gnat_decl))) return Entity (Subtype_Indication (gnat_decl)); + + /* Likewise for the full view of such subtypes when they are private. */ + if (Is_Itype (gnat_entity)) + { + gnat_decl = Associated_Node_For_Itype (gnat_entity); + if (Present (gnat_decl) + && Nkind (gnat_decl) == N_Subtype_Declaration + && Is_Private_Type (Defining_Identifier (gnat_decl)) + && Full_View (Defining_Identifier (gnat_decl)) == gnat_entity + && Present (Generic_Parent_Type (gnat_decl)) + && Is_Entity_Name (Subtype_Indication (gnat_decl))) + return Entity (Subtype_Indication (gnat_decl)); + } break; default: