summaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch8.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2013-04-11 09:46:54 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2013-04-11 09:46:54 +0000
commita9cd517c3a3962c71df34819e592299844054d86 (patch)
tree39f53e685d07ad7a16d3eb13e84b0b610214212a /gcc/ada/sem_ch8.adb
parent70c11f434b7c68fc3f66e8e96b86ec5f687089d9 (diff)
downloadgcc-a9cd517c3a3962c71df34819e592299844054d86.tar.gz
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb, exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag. Enable this flag in CodePeer mode, and also via -gnatd.M. Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics. 2013-04-11 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Check_Constrained_Object): If a subtype is created from the renamed object in an object renaming declaration with an unconstrained nominal subtype, freeze the created subtype at once, to prevent order of elaboration issues in the backend. 2013-04-11 Arnaud Charlet <charlet@adacore.com> * exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size in particular in CodePeer mode. 2013-04-11 Vincent Celier <celier@adacore.com> * gnat_ugn.texi: Add documentation for backup copies of project files for gnatname. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197751 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_ch8.adb')
-rw-r--r--gcc/ada/sem_ch8.adb6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb
index 214fb11800f..06dddf54f59 100644
--- a/gcc/ada/sem_ch8.adb
+++ b/gcc/ada/sem_ch8.adb
@@ -792,6 +792,12 @@ package body Sem_Ch8 is
Make_Subtype_From_Expr (Nam, Typ)));
Rewrite (Subtype_Mark (N), New_Occurrence_Of (Subt, Loc));
Set_Etype (Nam, Subt);
+
+ -- Freeze subtype at once, to prevent order of elaboration
+ -- issues in the backend. The renamed object exists, so its
+ -- type is already frozen in any case.
+
+ Freeze_Before (N, Subt);
end if;
end if;
end Check_Constrained_Object;