Fix regression in "commands"
Pedro pointed out a regression in "commands", where trying to clear a breakpoint's command list would fail: (top-gdb) commands Type commands for breakpoint(s) 3, one per line. End with a line saying just "end". >end No breakpoints specified. (top-gdb) I believe the bug was introduced by my patch that changes counted_command_line to be a shared_ptr. This causes the problem because now the counted_command_line in commands_command_1 can be NULL, whereas previously it never could be. After some discussion, we agreed to simply remove the error case from commands_command_1. 2017-12-07 Tom Tromey <tom@tromey.com> PR breakpoints/22511: * breakpoint.c (commands_command_1): Don't throw an exception when no commands have been read. 2017-12-07 Tom Tromey <tom@tromey.com> * gdb.base/break.exp: Add test for empty "commands".
This commit is contained in:
parent
23a8d1862b
commit
99598d713f
4 changed files with 22 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2017-12-07 Tom Tromey <tom@tromey.com>
|
||||
|
||||
PR breakpoints/22511:
|
||||
* breakpoint.c (commands_command_1): Don't throw an exception when
|
||||
no commands have been read.
|
||||
|
||||
2017-12-07 Adam Stylinski <adam.stylinski@etegent.com>
|
||||
|
||||
PR c++/21222
|
||||
|
|
|
@ -1272,9 +1272,6 @@ commands_command_1 (const char *arg, int from_tty,
|
|||
observer_notify_breakpoint_modified (b);
|
||||
}
|
||||
});
|
||||
|
||||
if (cmd == NULL)
|
||||
error (_("No breakpoints specified."));
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2017-12-07 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* gdb.base/break.exp: Add test for empty "commands".
|
||||
|
||||
2017-12-07 Yao Qi <yao.qi@linaro.org>
|
||||
|
||||
* gdb.trace/ftrace.exp (run_trace_experiment): Set breakpoint on
|
||||
|
|
|
@ -854,3 +854,15 @@ gdb_test_no_output "set \$foo=81.5" \
|
|||
gdb_test "break $srcfile:\$foo" \
|
||||
"Convenience variables used in line specs must have integer values.*" \
|
||||
"set breakpoint via non-integer convenience variable disallowed"
|
||||
|
||||
|
||||
#
|
||||
# Test that commands can be cleared without error.
|
||||
#
|
||||
|
||||
gdb_test "commands\nprint 232323\nend" ">end" "set some breakpoint commands"
|
||||
gdb_test "commands\nend" ">end" "clear breakpoint commands"
|
||||
# We verify that the commands were cleared by ensuring that the last
|
||||
# breakpoint's location ends the output -- if there were commands,
|
||||
# they would have been printed after the location.
|
||||
gdb_test "info break" "$srcfile:$line" "verify that they were cleared"
|
||||
|
|
Loading…
Add table
Reference in a new issue