[Ada] Crash on Loop_Entry for while_loop involving substrings
authorEd Schonberg <schonberg@adacore.com>
Tue, 20 Aug 2019 09:50:00 +0000 (09:50 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Tue, 20 Aug 2019 09:50:00 +0000 (09:50 +0000)
commitb6b011dd38da56a04dbf7d27833d015f2789a6f5
tree9c05a43e1234080f351d8318fad0884467a8d662
parent1233757a2dd3bf314aa308e51cbaeb6a512d59db
[Ada] Crash on Loop_Entry for while_loop involving substrings

When expanding a loop entry attribute for a while_loop we construct a
function that incorporates the expanded condition of the loop. The
itypes that may be generated in that expansion must carry the scope of
the constructed function for proper handling in the backend.

2019-08-20  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

* exp_attr.adb (Expand_Loop_Entry_Attribute): When expanding a
loop entry attribute for a while_loop we construct a function
that incorporates the expanded condition of the loop. The itypes
that may be generated in that expansion must carry the scope of
the constructed function for proper handling in gigi.

gcc/testsuite/

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

From-SVN: r274734
gcc/ada/ChangeLog
gcc/ada/exp_attr.adb
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/loop_entry2.adb [new file with mode: 0644]