Specially handle array contexts in Ada expression resolution
authorTom Tromey <tromey@adacore.com>
Mon, 25 Jan 2021 14:38:21 +0000 (07:38 -0700)
committerTom Tromey <tromey@adacore.com>
Mon, 25 Jan 2021 14:38:21 +0000 (07:38 -0700)
commit191849105b95e5ac3a3173547fd77f7b1fc3b283
treeb0bbfb1aff7d6e137db82311e09c63d2114f8947
parentacd6125f01dc9ba76423b7062c26ca16562943cf
Specially handle array contexts in Ada expression resolution

A user noticed that the Ada expression code in gdb did not
automatically disambiguate an enumerator in an array context.  That
is, an expression like "print array(enumerator)" is not ambiguous,
even if "enumerator" is declared in multiple enumerations, because the
correct one can be found by examining the array's index type.

This patch changes the Ada expression resolution code to handle this
case.

gdb/ChangeLog
2021-01-25  Tom Tromey  <tromey@adacore.com>

* ada-lang.c (resolve_subexp): Handle array context.

gdb/testsuite/ChangeLog
2021-01-25  Tom Tromey  <tromey@adacore.com>

* gdb.ada/local-enum.exp: Add enumerator resolution test.
gdb/ChangeLog
gdb/ada-lang.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.ada/local-enum.exp