diff options
author | Hristian Kirtchev <kirtchev@adacore.com> | 2008-07-31 15:53:45 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-07-31 15:53:45 +0200 |
commit | 2653cbda9e00269e7668ec10b38215c59bc8cd10 (patch) | |
tree | 0236c7c485ceb567648cd1c062ba2cbdab5b55fd /gcc | |
parent | 978057627777b89b5b81d11fbca24a998212c199 (diff) | |
download | gcc-2653cbda9e00269e7668ec10b38215c59bc8cd10.zip gcc-2653cbda9e00269e7668ec10b38215c59bc8cd10.tar.gz gcc-2653cbda9e00269e7668ec10b38215c59bc8cd10.tar.bz2 |
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 <kirtchev@adacore.com>
* exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private
tagged type is completed by a concurrent type.
From-SVN: r138411
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/exp_disp.adb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ada/exp_disp.adb b/gcc/ada/exp_disp.adb index 86420695..ac25171 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 |