mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-31 18:20:12 +08:00
Fix regression in Ada ptype
This fixes PR ada/27545, which points out that a test in gdb.ada/tagged.exp started failing due to the expression rewrite. I didn't notice this failure because my system gcc-gnat debuginfo was out of date, and so the test was already failing in the baseline. Previously, the OP_VAR_VALUE case in ada_evaluate_subexp ended up doing a recursive call: arg1 = evaluate_subexp (nullptr, exp, pos, EVAL_NORMAL); However, during the rewrite I missed this fact and had the new code call the superclass implementation. This patch fixes the bug by changing this code to use a recursive call instead. gdb/ChangeLog 2021-03-15 Tom Tromey <tromey@adacore.com> PR ada/27545: * ada-lang.c (ada_var_value_operation::evaluate): Use recursive call for tagged type.
This commit is contained in:
@ -10320,8 +10320,7 @@ ada_var_value_operation::evaluate (struct type *expect_type,
|
||||
a fixed type would result in the loss of that type name,
|
||||
thus preventing us from printing the name of the ancestor
|
||||
type in the type description. */
|
||||
value *arg1 = var_value_operation::evaluate (nullptr, exp,
|
||||
EVAL_NORMAL);
|
||||
value *arg1 = evaluate (nullptr, exp, EVAL_NORMAL);
|
||||
|
||||
if (type->code () != TYPE_CODE_REF)
|
||||
{
|
||||
|
Reference in New Issue
Block a user