freeze.adb (Check_Expression_Function): At the freeze point of an expression function...
authorEd Schonberg <schonberg@adacore.com>
Wed, 30 Jul 2014 14:34:38 +0000 (14:34 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 30 Jul 2014 14:34:38 +0000 (16:34 +0200)
commit18c568405a1082229a3bbac7d99b1c4bf5632950
tree6ff105c888eb96db6135dc2dcd5bd6b1d8d5ed62
parent41a58113f8e2d6bc4bd52e168e7079053cda5eb9
freeze.adb (Check_Expression_Function): At the freeze point of an expression function...

2014-07-30  Ed Schonberg  <schonberg@adacore.com>

* freeze.adb (Check_Expression_Function): At the freeze point
of an expression function, verify that the expression in the
function does not contain references to any deferred constants
that have no completion yet.
(Freeze_Expression, Freeze_Before): call
Check_Expression_Function.
* a-ciorse.ads: Add Reference_Control_Type to detect tampering.
* a-ciorse.adb: Add Adjust and Finalize routines for
Reference_Control_Type. Use it in the construction of Reference
and Constant_Reference values.

From-SVN: r213287
gcc/ada/ChangeLog
gcc/ada/a-ciorse.adb
gcc/ada/a-ciorse.ads
gcc/ada/freeze.adb