summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_aggr.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2009-10-29 15:42:50 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2009-10-29 15:42:50 +0100
commiteb44440252221f3791b513782a492e3a3292c2a4 (patch)
tree138b582dd4a3704fa0f5e8bbd79ac163f50a5e00 /gcc/ada/exp_aggr.adb
parent90e7755315528419c69362a3ab49456c1aff18f0 (diff)
downloadgcc-eb44440252221f3791b513782a492e3a3292c2a4.tar.gz
[multiple changes]
2009-10-28 Robert Dewar <dewar@adacore.com> * sem_type.adb: Minor reformatting 2009-10-28 Arnaud Charlet <charlet@adacore.com> * exp_ch9.adb (Build_Task_Proc_Specification): Generate a different suffix for task type bodies. 2009-10-28 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a finalization list if the designated type requires no control actions, to prevent a useless semantic dependence on ada.tags. From-SVN: r153705
Diffstat (limited to 'gcc/ada/exp_aggr.adb')
-rw-r--r--gcc/ada/exp_aggr.adb8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb
index 75eb8f500fa..aadb22485d2 100644
--- a/gcc/ada/exp_aggr.adb
+++ b/gcc/ada/exp_aggr.adb
@@ -3298,8 +3298,14 @@ package body Exp_Aggr is
N_Discriminant_Specification
then
Flist := Empty;
- else
+
+ elsif Needs_Finalization (Typ) then
Flist := Find_Final_List (Access_Type);
+
+ -- Otherwise there are no controlled actions to be performed.
+
+ else
+ Flist := Empty;
end if;
if Is_Array_Type (Typ) then