diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-04-23 11:53:23 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-04-23 11:53:23 +0200 |
commit | e93f4e1244de0d4d7446237c7fa6995e57efca41 (patch) | |
tree | 7707a1974f10354ae188d09877f6b574d4ca66aa /gcc/ada/aspects.adb | |
parent | 9d5598bf839e572e6262367af623d1e1af91c4a6 (diff) | |
download | gcc-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.adb | 6 |
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 |