aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/aspects.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2013-04-23 11:53:23 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2013-04-23 11:53:23 +0200
commite93f4e1244de0d4d7446237c7fa6995e57efca41 (patch)
tree7707a1974f10354ae188d09877f6b574d4ca66aa /gcc/ada/aspects.adb
parent9d5598bf839e572e6262367af623d1e1af91c4a6 (diff)
downloadgcc-e93f4e1244de0d4d7446237c7fa6995e57efca41.zip
gcc-e93f4e1244de0d4d7446237c7fa6995e57efca41.tar.gz
gcc-e93f4e1244de0d4d7446237c7fa6995e57efca41.tar.bz2
[multiple changes]
2013-04-23 Vincent Celier <celier@adacore.com> * prj-part.ads, prj-conf.ads: Minor comment updates. 2013-04-23 Ed Schonberg <schonberg@adacore.com> * einfo.adb (Predicate_Function): For a private type, retrieve predicate function from full view. * aspects.adb (Find_Aspect): Ditto. * exp_ch6.adb (Expand_Actuals): If the formal is class-wide and the actual is a definite type, apply predicate check after call. * sem_res.adb: Do not apply a predicate check before the call to a generated Init_Proc. From-SVN: r198185
Diffstat (limited to 'gcc/ada/aspects.adb')
-rw-r--r--gcc/ada/aspects.adb6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ada/aspects.adb b/gcc/ada/aspects.adb
index f63cd2b..b72debb 100644
--- a/gcc/ada/aspects.adb
+++ b/gcc/ada/aspects.adb
@@ -163,6 +163,12 @@ package body Aspects is
if Is_Class_Wide_Type (Owner) and then Inherited_Aspect (A) then
Owner := Root_Type (Owner);
end if;
+
+ if Is_Private_Type (Owner)
+ and then Present (Full_View (Owner))
+ then
+ Owner := Full_View (Owner);
+ end if;
end if;
-- Search the representation items for the desired aspect