From f3741bbd187aa594a7d647a8ad4152e6e423a9ca Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Mon, 12 Jun 2023 15:21:06 -0700 Subject: [PATCH] Simplify case DW_OP_GNU_uninit in dwarf_expr_context::execute_stack_op Tom Tromey pointed out that the test and call to error() for the DW_OP_GNU_uninit case in dwarf_expr_context::execute_stack_op (in gdb/dwarf2/expr.c)... if (op_ptr != op_end && *op_ptr != DW_OP_piece && *op_ptr != DW_OP_bit_piece) error (_("DWARF-2 expression error: DW_OP_GNU_uninit must always " "be the very last op in a DWARF expression or " "DW_OP_piece/DW_OP_bit_piece piece.")); ...could be replaced by a call to dwarf_expr_require_composition which performs a similar check and outputs a suitable error message. --- gdb/dwarf2/expr.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c index 7e1666165d7..b21016eb38b 100644 --- a/gdb/dwarf2/expr.c +++ b/gdb/dwarf2/expr.c @@ -2200,12 +2200,7 @@ dwarf_expr_context::execute_stack_op (const gdb_byte *op_ptr, goto no_push; case DW_OP_GNU_uninit: - if (op_ptr != op_end && *op_ptr != DW_OP_piece - && *op_ptr != DW_OP_bit_piece) - error (_("DWARF-2 expression error: DW_OP_GNU_uninit must always " - "be the very last op in a DWARF expression or " - "DW_OP_piece/DW_OP_bit_piece piece.")); - + dwarf_expr_require_composition (op_ptr, op_end, "DW_OP_GNU_uninit"); this->m_initialized = false; goto no_push; -- 2.30.2