freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point here.
authorRobert Dewar <dewar@adacore.com>
Mon, 1 Aug 2011 10:39:44 +0000 (10:39 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 1 Aug 2011 10:39:44 +0000 (12:39 +0200)
commitbd949ee2a3d34419fd1ec4389a7c02174b21ed1d
tree49aaa8dd4a3df803441316b3df4c9b9c806e68a2
parentf1c952af5e5c09676e9e26a88b78c7138e60d3f4
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
gcc/ada/ChangeLog
gcc/ada/exp_ch4.adb
gcc/ada/freeze.adb
gcc/ada/sem_ch13.adb