2012-05-04 Tristan Gingold <gingold@adacore.com>

* printcmd.c (set_command): Emit a warning if the expression is not
	an assignment.

testsuite/
2012-05-04  Tristan Gingold  <gingold@adacore.com>

	* gdb.base/set-noassign.exp: New test.
This commit is contained in:
Tristan Gingold 2012-05-04 07:58:00 +00:00
parent a1b80f44af
commit 52b3699b0b
4 changed files with 47 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2012-05-04 Tristan Gingold <gingold@adacore.com>
* printcmd.c (set_command): Emit a warning if the expression is not
an assignment.
2012-05-03 Joel Brobecker <brobecker@adacore.com>
* nto-procfs.c (procfs_find_new_threads, procfs_pid_to_str):

View File

@ -1080,6 +1080,12 @@ 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)"));
evaluate_expression (expr);
do_cleanups (old_chain);
}

View File

@ -1,3 +1,7 @@
2012-05-04 Tristan Gingold <gingold@adacore.com>
* gdb.base/set-noassign.exp: New test.
2012-05-03 Siva Chandra Reddy <sivachandra@google.com>
* gdb.python/py-symbol.exp: Add tests to test the new methods

View File

@ -0,0 +1,32 @@
# Copyright 2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
if { [prepare_for_testing set-noassign.exp "set-noassign" start.c {debug nowarnings}] } {
return -1
}
if ![runto_main] then {
fail "Can't run to main"
return 0
}
# Verify that set command without assignment emits a warning.
#
gdb_test "set language ada" ".*" "set language ada"
gdb_test "set x=3" \
"warning: Expression is not an assignment \\(and might have no effect\\)" \
"warning for set without assignment"