From 2653cbda9e00269e7668ec10b38215c59bc8cd10 Mon Sep 17 00:00:00 2001 From: Hristian Kirtchev Date: Thu, 31 Jul 2008 15:53:45 +0200 Subject: [PATCH] exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private tagged type is completed by a concurrent type. 2008-07-31 Hristian Kirtchev * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private tagged type is completed by a concurrent type. From-SVN: r138411 --- gcc/ada/exp_disp.adb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gcc/ada/exp_disp.adb b/gcc/ada/exp_disp.adb index 864206951f6..ac25171abf7 100644 --- a/gcc/ada/exp_disp.adb +++ b/gcc/ada/exp_disp.adb @@ -6042,6 +6042,13 @@ package body Exp_Disp is Full_Typ := Corresponding_Concurrent_Type (Typ); end if; + -- When a private tagged type is completed by a concurrent type, + -- retrieve the full view. + + if Is_Private_Type (Full_Typ) then + Full_Typ := Full_View (Full_Typ); + end if; + if Ekind (Prim_Op) = E_Function then -- Protected function