[Ada] Inconsistent scope chain due to quantified expression
authorHristian Kirtchev <kirtchev@adacore.com>
Thu, 11 Jan 2018 08:50:18 +0000 (08:50 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Thu, 11 Jan 2018 08:50:18 +0000 (08:50 +0000)
commit51f3e4e157dae1cded8f340f12859b237151fe74
treeefb29bdc3b0afa2977c2556a47bcce6876ef4859
parent593e3172343967753c81fb85013b3f769679c9e2
[Ada] Inconsistent scope chain due to quantified expression

This patch corrects the minor decoration performed on invariant procedures in
case the procedure is not inserted into the tree and analyzed. The decoration
now constructs a proper first/next/last entity chain containing the single
formal parameter which represents the object of the related type. The chain
then ensures that any other entities generated by the [pre]analysis of the
invariant expression will be properly added to the chain.

The issue was discovered during the development of the GNATprove tool and
is not visible to end users. No simple test is available because this would
require a debug session.

2018-01-11  Hristian Kirtchev  <kirtchev@adacore.com>

gcc/ada/

* exp_util.adb (Build_Invariant_Procedure_Declaration): Set the last
entity of the generated invariant procedure in order to construct a
proper entity chain.

From-SVN: r256483
gcc/ada/ChangeLog
gcc/ada/exp_util.adb