diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-22 13:26:28 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-22 13:26:28 +0000 |
commit | d42676bcba7e9d470f3d35af27d288055f8a74c7 (patch) | |
tree | 8436d77e61ea5b7b936a7292fb58f8792687ed1e /gcc/ada | |
parent | 72d70f0c398584e4d077ee43f9f517bb77d0aa7d (diff) | |
download | gcc-d42676bcba7e9d470f3d35af27d288055f8a74c7.tar.gz |
2008-08-22 Ed Schonberg <schonberg@adacore.com>
* exp_tss.adb:
(Base_Init_Proc): For a protected subtype, use the base type of the
corresponding record to locate the propoer initialization procedure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139465 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/exp_tss.adb | 7 |
1 files changed, 6 insertions, 1 deletions
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)); |