diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-08-06 08:17:25 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-08-06 08:17:25 +0000 |
commit | 825c35988f4318028a74bf0ce1710e9a3d3d822a (patch) | |
tree | a045f0edbeb7f8290f764a4308dc6a58d30da10d /gcc/ada/exp_aggr.adb | |
parent | 3f3f8d796bbcbacbfd9b9cf760774c2a7ec26ad4 (diff) | |
download | gcc-825c35988f4318028a74bf0ce1710e9a3d3d822a.tar.gz |
2012-08-06 Geert Bosch <bosch@adacore.com>
* a-ngelfu.adb: Change obsolete comment that this is a non-strict
implementation.
2012-08-06 Steve Baird <baird@adacore.com>
* exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If
CodePeer_Mode = True then omit exception handlers for finalization calls
2012-08-06 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190165 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_aggr.adb')
-rw-r--r-- | gcc/ada/exp_aggr.adb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index 98070a9a2df..294a7d82ab2 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -3737,6 +3737,9 @@ package body Exp_Aggr is Analyze_And_Resolve (N, Typ); end if; + -- Is Static_Eaboration_Desired has been specified, diagnose aggregates + -- that will still require initialization code. + if (Ekind (Current_Scope) = E_Package and then Static_Elaboration_Desired (Current_Scope)) and then Nkind (Parent (N)) = N_Object_Declaration @@ -3745,7 +3748,7 @@ package body Exp_Aggr is Expr : Node_Id; begin - if Present (Expressions (N)) then + if Nkind (N) = N_Aggregate and then Present (Expressions (N)) then Expr := First (Expressions (N)); while Present (Expr) loop if Nkind_In (Expr, N_Integer_Literal, N_Real_Literal) |