2012-05-10 Tristan Gingold <gingold@adacore.com>
authorTristan Gingold <gingold@adacore.com>
Thu, 10 May 2012 14:10:38 +0000 (14:10 +0000)
committerTristan Gingold <gingold@adacore.com>
Thu, 10 May 2012 14:10:38 +0000 (14:10 +0000)
        * printcmd.c (set_command): Add pre/post inc/dec.

gdb/ChangeLog
gdb/printcmd.c

index df3496d..be59495 100644 (file)
@@ -1,3 +1,7 @@
+2012-05-10  Tristan Gingold  <gingold@adacore.com>
+
+       * printcmd.c (set_command): Add pre/post inc/dec.
+
 2012-05-09  Frank Ch. Eigler  <fche@redhat.com>
 
        * gdb.1: Document -ex option.
index 79e38f2..fa76296 100644 (file)
@@ -1080,11 +1080,21 @@ set_command (char *exp, int from_tty)
   struct cleanup *old_chain =
     make_cleanup (free_current_contents, &expr);
 
-  if (expr->nelts >= 1
-      && expr->elts[0].opcode != BINOP_ASSIGN
-      && expr->elts[0].opcode != BINOP_ASSIGN_MODIFY
-      && expr->elts[0].opcode != BINOP_COMMA)
-    warning (_("Expression is not an assignment (and might have no effect)"));
+  if (expr->nelts >= 1)
+    switch (expr->elts[0].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);
   do_cleanups (old_chain);