[Ada] Exit statement in loops over iterable objects
commitdef6e435f48990bcf8aebe9432b9b1aea593e4e9
authorEd Schonberg <schonberg@adacore.com>
Mon, 21 May 2018 14:52:00 +0000 (21 14:52 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Mon, 21 May 2018 14:52:00 +0000 (21 14:52 +0000)
treee821f59a8417f74b5874e7b640cc4c83286cb6eb
parent0d8b6803b9abafea59b08702a582605316544245
[Ada] Exit statement in loops over iterable objects

This patch fixes an omission in the expansion of loops over GNAT-specific
iterable objects. If the source includes an explicit name for the loop,
that name has to be preserved in the expanded code to allow exit statements
to mention it.

2018-05-21  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

* exp_ch5.adb (Build_Formal_Container_Iteration): If source has
explicit name for iterator loop, preserve that name in expanded
construct, for possible use in exit statements.

gcc/testsuite/

* gnat.dg/exit1.adb: New testcase.

From-SVN: r260465
gcc/ada/ChangeLog
gcc/ada/exp_ch5.adb
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/exit1.adb [new file with mode: 0644]