Simplify case DW_OP_GNU_uninit in dwarf_expr_context::execute_stack_op
authorKevin Buettner <kevinb@redhat.com>
Mon, 12 Jun 2023 22:21:06 +0000 (15:21 -0700)
committerKevin Buettner <kevinb@redhat.com>
Mon, 12 Jun 2023 23:02:40 +0000 (16:02 -0700)
commitf3741bbd187aa594a7d647a8ad4152e6e423a9ca
tree551563869bdefae75f8ec17b87f25235f31c7659
parent9af6e8c6df35f408c502b89a8e4fb9f7990202ff
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