Fix bug in Ada packed array handling
authorTom Tromey <tromey@adacore.com>
Tue, 20 Sep 2022 14:39:09 +0000 (08:39 -0600)
committerTom Tromey <tromey@adacore.com>
Fri, 21 Oct 2022 15:40:58 +0000 (09:40 -0600)
commit6c849804cff9e251876f3edb64d44dabeadaa711
treeda7aa69ba5cb2c894a91ba814eb256293c95cde9
parent75436c534bfd7f548a13b5f926c3bd234b23b8d0
Fix bug in Ada packed array handling

A user found a bug where an array of packed arrays was printed
incorrectly.  The bug here is that the packed array has a bit stride,
but the outer array does not -- and should not.  However,
update_static_array_size does not distinguish between an array of
packed arrays and a multi-dimensional packed array, and for the
latter, only the innermost array will end up with a stride.

This patch fixes the problem by adding a flag to indicate whether a
given array type is a constituent of a multi-dimensional array.
gdb/dwarf2/read.c
gdb/gdbtypes.c
gdb/gdbtypes.h
gdb/testsuite/gdb.ada/packed_array.exp
gdb/testsuite/gdb.ada/packed_array/pa.adb