Call ada_ensure_varsize_limit in indirection
authorTom Tromey <tromey@adacore.com>
Mon, 15 Mar 2021 12:23:12 +0000 (06:23 -0600)
committerTom Tromey <tromey@adacore.com>
Mon, 15 Mar 2021 12:23:13 +0000 (06:23 -0600)
commit3b5c4de0cf93667ffc98f112db7dcbea92292e32
tree887c389e6ceb1d9f844f723e77a5e8a7728f52b9
parentc04da66c264162e6efc37686c0e4ee46c5b048ab
Call ada_ensure_varsize_limit in indirection

Internal testing revealed yet another Ada regression from the
expression rewrite.  In this case, indirection did not use the Ada
varsize limit.  The old code relied on the expression resolution
process to evaluate this subexpression with EVAL_AVOID_SIDE_EFFECTS in
order to get this error.  However, this isn't always done in the new
approach; so this patch introduces another call to
ada_ensure_varsize_limit in the appropriate spot.

As with the earlier patches, this path was not tested in-tree, so this
patch also updates a test.

gdb/ChangeLog
2021-03-15  Tom Tromey  <tromey@adacore.com>

* ada-lang.c (ada_unop_ind_operation::evaluate): Call
ada_ensure_varsize_limit.

gdb/testsuite/ChangeLog
2021-03-15  Tom Tromey  <tromey@adacore.com>

* gdb.ada/varsize_limit.exp: Add new test.
* gdb.ada/varsize_limit/vsizelim.adb: Update.
gdb/ChangeLog
gdb/ada-lang.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.ada/varsize_limit.exp
gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb