aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_aggr.adb
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2005-12-09 18:16:47 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2005-12-09 18:16:47 +0100
commit52739835a1902dfe18f439c64a30e15374619e29 (patch)
tree941058b1ecd95e4802adf04bc8d602f2590e2012 /gcc/ada/exp_aggr.adb
parent23d0d17f0debecb8cfbcf2ed0761d9bbc6866969 (diff)
downloadgcc-52739835a1902dfe18f439c64a30e15374619e29.zip
gcc-52739835a1902dfe18f439c64a30e15374619e29.tar.gz
gcc-52739835a1902dfe18f439c64a30e15374619e29.tar.bz2
exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records with IP subprogram were only supported if...
2005-12-05 Javier Miranda <miranda@adacore.com> * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records with IP subprogram were only supported if there were limited types. * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized records with IP subprogram were only supported if there were limited types. From-SVN: r108289
Diffstat (limited to 'gcc/ada/exp_aggr.adb')
-rw-r--r--gcc/ada/exp_aggr.adb5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb
index 6699b42..9c9508f 100644
--- a/gcc/ada/exp_aggr.adb
+++ b/gcc/ada/exp_aggr.adb
@@ -2358,10 +2358,11 @@ package body Exp_Aggr is
while Present (Comp) loop
Selector := Entity (First (Choices (Comp)));
- -- Ada 2005 (AI-287): Default initialization of a limited component
+ -- Ada 2005 (AI-287): For each default-initialized component genarate
+ -- a call to the corresponding IP subprogram if available.
if Box_Present (Comp)
- and then Is_Limited_Type (Etype (Selector))
+ and then Has_Non_Null_Base_Init_Proc (Etype (Selector))
then
-- Ada 2005 (AI-287): If the component type has tasks then
-- generate the activation chain and master entities (except