[v3,206/206] Remove some null checks

Message ID 20210220201609.838264-207-tom@tromey.com
State New
Headers show
Series
  • Refactor expressions
Related show

Commit Message

Tom Tromey Feb. 20, 2021, 8:16 p.m.
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-02-20  Tom Tromey  <tom@tromey.com>

	* 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(-)

-- 
2.26.2

Patch

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.  */