[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Wed, 30 Jul 2014 14:14:11 +0000 (16:14 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 30 Jul 2014 14:14:11 +0000 (16:14 +0200)
commit29ad9ea52944cd89ea5414c034d468f0862b6c18
tree53066db52b318418f14cc54eb9820b3b1bb18089
parent995683a614a3a5f3ac8466a6a13776a27d0f0666
[multiple changes]

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

* a-coorse.adb, a-coorse.ads (Generic_Keys): Add a
Reference_Control_Type to generic package, to keep additional
information for Reference_Types that manipulate keys. Add Adjust and
Finalize procedures for this type.
(Finalize): When finalizing a reference_preserving_key, verify
that the key of the new value is equivalent to the key of the
original element, raise Program_Error otherwise.
(Insert): Detect tampering.
(Reference_Preserving_Key): Build proper Reference_Control_Type,
and update Busy and Lock bits to detect tampering.
* a-cohase.ads: Keep with-clause private.

2014-07-30  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Expand_N_Op_Eq): Emit a warning when the operands
of an equality are of an Unchecked_Union type and lack inferable
discriminants.

From-SVN: r213277
gcc/ada/ChangeLog
gcc/ada/a-cohase.ads
gcc/ada/a-coorse.adb
gcc/ada/a-coorse.ads
gcc/ada/exp_ch4.adb