aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Buettner <kevinb@redhat.com>2023-06-12 15:21:06 -0700
committerKevin Buettner <kevinb@redhat.com>2023-06-12 16:02:40 -0700
commitf3741bbd187aa594a7d647a8ad4152e6e423a9ca (patch)
tree551563869bdefae75f8ec17b87f25235f31c7659
parent9af6e8c6df35f408c502b89a8e4fb9f7990202ff (diff)
downloadbinutils-f3741bbd187aa594a7d647a8ad4152e6e423a9ca.zip
binutils-f3741bbd187aa594a7d647a8ad4152e6e423a9ca.tar.gz
binutils-f3741bbd187aa594a7d647a8ad4152e6e423a9ca.tar.bz2
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.
-rw-r--r--gdb/dwarf2/expr.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c
index 7e16661..b21016e 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;