summaryrefslogtreecommitdiffstats
path: root/gcc/ada/freeze.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-12-12 13:43:38 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-12-12 13:43:38 +0000
commitd67a83fef70d13b2d0d285c7e1b3294d77081432 (patch)
treefeb483120b34ecb8aac08763b4b4a0ca89170d5f /gcc/ada/freeze.adb
parent0dd21164ba0588370c256d531ad45866a13fe9e7 (diff)
downloadppe42-gcc-d67a83fef70d13b2d0d285c7e1b3294d77081432.tar.gz
ppe42-gcc-d67a83fef70d13b2d0d285c7e1b3294d77081432.zip
2011-12-12 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb, gnatls.adb: Minor reformatting. 2011-12-12 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): If a type declared in a generic context has predicates, generate a freeze node for it. * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): If expression has not been analyzed yet, entity has not been frozen, so analyze it now. 2011-12-12 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_VM_TSD): Generate code to store the value 'alignment in the TSD. 2011-12-12 Bob Duff <duff@adacore.com> * s-taprop-mingw.adb (Yield): Do not delay 1 millisecond in Annex D mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182240 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/freeze.adb')
-rw-r--r--gcc/ada/freeze.adb5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb
index 336825ea91e..46d3c64fd90 100644
--- a/gcc/ada/freeze.adb
+++ b/gcc/ada/freeze.adb
@@ -3040,8 +3040,13 @@ package body Freeze is
-- nable and used in subsequent checks, so might as well try to
-- compute it.
+ -- In Ada2012, freeze entities is also used in the front-end to
+ -- trigger the analysis of aspect expressions, so in this case we
+ -- want to continue the freezing process.
+
if Present (Scope (E))
and then Is_Generic_Unit (Scope (E))
+ and then not Has_Predicates (E)
then
Check_Compile_Time_Size (E);
return No_List;
OpenPOWER on IntegriCloud