Commit 24aa1b02 authored by Tom Tromey's avatar Tom Tromey
Browse files

Resolve dynamic type in ada_value_struct_elt

An internal AdaCore test case showed that gdb mishandled a case of
assigning to an array element in a packed array inside a variant
record.  This problem can only be seen with -fgnat-encodings=minimal,
which isn't yet widely used.  This patch fixes the bug, and also
updates an existing test to check this case.

gdb/ChangeLog
2020-11-04  Tom Tromey  <tromey@adacore.com>

	* ada-lang.c (ada_value_struct_elt): Resolve dynamic type.

gdb/testsuite/ChangeLog
2020-11-04  Tom Tromey  <tromey@adacore.com>

	* gdb.ada/set_pckd_arr_elt.exp: Also test
	-fgnat-encodings=minimal.  Add tests.
	* gdb.ada/set_pckd_arr_elt/foo.adb (Foo): Add VA variable.
	Call Update_Small a second time.
	* gdb.ada/set_pckd_arr_elt/pck.adb (New_Variant): New function.
	* gdb.ada/set_pckd_arr_elt/pck.ads (Buffer, Variant)
	(Variant_Access): New types.
	(New_Variant): Declare.
parent c9a28cbe
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment