From 9af38f0c56e8dd7a894328682c92446216c4f9a5 Mon Sep 17 00:00:00 2001 From: Ed Schonberg Date: Fri, 17 Feb 2006 17:07:43 +0100 Subject: [PATCH] sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram instantiation... 2006-02-17 Ed Schonberg * sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram instantiation, the corresponding entity is the related_instance of the wrapper package created for the instance. From-SVN: r111191 --- gcc/ada/sem_ch10.adb | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/gcc/ada/sem_ch10.adb b/gcc/ada/sem_ch10.adb index 00df65bb0dc..210a23c5311 100644 --- a/gcc/ada/sem_ch10.adb +++ b/gcc/ada/sem_ch10.adb @@ -2180,16 +2180,11 @@ package body Sem_Ch10 is elsif Unit_Kind in N_Subprogram_Instantiation then - -- Instantiation node is replaced with a package that contains - -- renaming declarations and instance itself. The subprogram - -- Instance is declared in the visible part of the wrapper package. - - E_Name := First_Entity (Defining_Entity (U)); - while Present (E_Name) loop - exit when Is_Subprogram (E_Name) - and then Is_Generic_Instance (E_Name); - E_Name := Next_Entity (E_Name); - end loop; + -- Instantiation node is replaced with a wrapper package. + -- Retrieve the visible subprogram created by the instance from + -- the corresponding attribute of the wrapper. + + E_Name := Related_Instance (Defining_Entity (U)); elsif Unit_Kind = N_Package_Renaming_Declaration or else Unit_Kind in N_Generic_Renaming_Declaration -- 2.30.2