aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2021-03-08 07:27:57 -0700
committerTom Tromey <tom@tromey.com>2021-03-08 07:28:44 -0700
commit3dd93bf837b10e01864d7d223ae9d3f9b92df74e (patch)
tree6f48c2db566069ae33c55e883994927dcc1b570c
parent9c79936b3df018166d53869f7f2bb2909f129e51 (diff)
downloadgdb-3dd93bf837b10e01864d7d223ae9d3f9b92df74e.zip
gdb-3dd93bf837b10e01864d7d223ae9d3f9b92df74e.tar.gz
gdb-3dd93bf837b10e01864d7d223ae9d3f9b92df74e.tar.bz2
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 <tom@tromey.com> * printcmd.c (set_command): Remove null check. * value.c (init_if_undefined_command): Remove null check.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/printcmd.c29
-rw-r--r--gdb/value.c2
3 files changed, 20 insertions, 16 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index d1cf966..2024f94 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2021-03-08 Tom Tromey <tom@tromey.com>
+ * printcmd.c (set_command): Remove null check.
+ * value.c (init_if_undefined_command): Remove null check.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
* parse.c (parser_state::push_symbol, parser_state::push_dollar):
Update.
* p-exp.y (variable): Update.
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index 2a06aea..8508906 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 df0e5c1..9527186 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. */