From fb34edfafac9e1b807e5ee6b93624e262b28aa78 Mon Sep 17 00:00:00 2001 From: Ed Schonberg Date: Fri, 22 Aug 2008 15:26:28 +0200 Subject: [PATCH] 2008-08-22 Ed Schonberg * exp_tss.adb: (Base_Init_Proc): For a protected subtype, use the base type of the corresponding record to locate the propoer initialization procedure. From-SVN: r139465 --- gcc/ada/exp_tss.adb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ada/exp_tss.adb b/gcc/ada/exp_tss.adb index f9b9e33374e..acddeb11abd 100644 --- a/gcc/ada/exp_tss.adb +++ b/gcc/ada/exp_tss.adb @@ -57,7 +57,12 @@ package body Exp_Tss is elsif Is_Concurrent_Type (Full_Type) and then Present (Corresponding_Record_Type (Base_Type (Full_Type))) then - return Init_Proc (Corresponding_Record_Type (Base_Type (Full_Type))); + -- The initialization routine to be called is that of the base type + -- of the corresponding record type, which may itself be a subtype + -- and possibly an itype. + + return Init_Proc + (Base_Type (Corresponding_Record_Type (Base_Type (Full_Type)))); else Proc := Init_Proc (Base_Type (Full_Type)); -- 2.30.2