From 3dd93bf837b10e01864d7d223ae9d3f9b92df74e Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 8 Mar 2021 07:27:57 -0700 Subject: [PATCH] Remove some null checks When not parsing for completion, parse_expression ensures that the resulting expression has operations. This patch removes a couple of unnecessary checks for this situation. gdb/ChangeLog 2021-03-08 Tom Tromey * printcmd.c (set_command): Remove null check. * value.c (init_if_undefined_command): Remove null check. --- gdb/ChangeLog | 5 +++++ gdb/printcmd.c | 29 ++++++++++++++--------------- gdb/value.c | 2 +- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d1cf966d213..2024f942ad4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2021-03-08 Tom Tromey + + * printcmd.c (set_command): Remove null check. + * value.c (init_if_undefined_command): Remove null check. + 2021-03-08 Tom Tromey * parse.c (parser_state::push_symbol, parser_state::push_dollar): diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 2a06aea95ad..850890644aa 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -1375,21 +1375,20 @@ set_command (const char *exp, int from_tty) { expression_up expr = parse_expression (exp); - if (expr->op != nullptr) - switch (expr->op->opcode ()) - { - case UNOP_PREINCREMENT: - case UNOP_POSTINCREMENT: - case UNOP_PREDECREMENT: - case UNOP_POSTDECREMENT: - case BINOP_ASSIGN: - case BINOP_ASSIGN_MODIFY: - case BINOP_COMMA: - break; - default: - warning - (_("Expression is not an assignment (and might have no effect)")); - } + switch (expr->op->opcode ()) + { + case UNOP_PREINCREMENT: + case UNOP_POSTINCREMENT: + case UNOP_PREDECREMENT: + case UNOP_POSTDECREMENT: + case BINOP_ASSIGN: + case BINOP_ASSIGN_MODIFY: + case BINOP_COMMA: + break; + default: + warning + (_("Expression is not an assignment (and might have no effect)")); + } evaluate_expression (expr.get ()); } diff --git a/gdb/value.c b/gdb/value.c index df0e5c19f8c..9527186f57a 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -2015,7 +2015,7 @@ init_if_undefined_command (const char* args, int from_tty) /* Validate the expression. Was the expression an assignment? Or even an expression at all? */ - if (expr->op == nullptr || expr->first_opcode () != BINOP_ASSIGN) + if (expr->first_opcode () != BINOP_ASSIGN) error (_("Init-if-undefined requires an assignment expression.")); /* Extract the variable from the parsed expression. */ -- 2.30.2