From 0ece64fd6fb4dcbb1cbe579fed01dcac2c19f888 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 10 May 2012 14:10:38 +0000 Subject: 2012-05-10 Tristan Gingold * printcmd.c (set_command): Add pre/post inc/dec. --- gdb/printcmd.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'gdb/printcmd.c') diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 79e38f2..fa76296 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -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); -- cgit v1.1