aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/freeze.adb
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2011-08-01 10:39:44 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2011-08-01 12:39:44 +0200
commitbd949ee2a3d34419fd1ec4389a7c02174b21ed1d (patch)
tree49aaa8dd4a3df803441316b3df4c9b9c806e68a2 /gcc/ada/freeze.adb
parentf1c952af5e5c09676e9e26a88b78c7138e60d3f4 (diff)
downloadgcc-bd949ee2a3d34419fd1ec4389a7c02174b21ed1d.zip
gcc-bd949ee2a3d34419fd1ec4389a7c02174b21ed1d.tar.gz
gcc-bd949ee2a3d34419fd1ec4389a7c02174b21ed1d.tar.bz2
freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point here.
2011-08-01 Robert Dewar <dewar@adacore.com> * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point here. (Freeze_All_Ent): Fix error in handling inherited aspects. * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is already analyzed, but don't skip entire processing of a declaration, that's wrong in some cases of declarations being rewritten. (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects. Don't delay for integer, string literals Treat predicates in usual manner for delay, remove special case code, not needed. (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point (Build_Predicate_Function): Update saved expression in aspect (Build_Invariant_Procedure): Update saved expression in aspect * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization of replacement of discriminant references if the reference is simple. From-SVN: r177010
Diffstat (limited to 'gcc/ada/freeze.adb')
-rw-r--r--gcc/ada/freeze.adb5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb
index 4380292..56fd5c5 100644
--- a/gcc/ada/freeze.adb
+++ b/gcc/ada/freeze.adb
@@ -1336,6 +1336,7 @@ package body Freeze is
Ritem := First_Rep_Item (E);
while Present (Ritem) loop
if Nkind (Ritem) = N_Aspect_Specification
+ and then Entity (Ritem) = E
and then Is_Delayed_Aspect (Ritem)
then
Check_Aspect_At_End_Of_Declarations (Ritem);
@@ -2444,10 +2445,6 @@ package body Freeze is
-- Analyze the pragma after possibly setting Aspect_Cancel
Analyze (Aitem);
-
- -- Do visibility analysis for aspect at freeze point
-
- Check_Aspect_At_Freeze_Point (Ritem);
end if;
Next_Rep_Item (Ritem);