aboutsummaryrefslogtreecommitdiff
path: root/gdb/mi
diff options
context:
space:
mode:
authorVladimir Prus <vladimir@codesourcery.com>2010-03-23 21:32:28 +0000
committerVladimir Prus <vladimir@codesourcery.com>2010-03-23 21:32:28 +0000
commita7bdde9e633ffde58462e01bdfb0d1ee9a642d7c (patch)
tree21df3445afaf8f0d2a61166c724029025fbf834c /gdb/mi
parent64e3cf3d4f121e456a09c3998c4aa6d739e61f8a (diff)
downloadgdb-a7bdde9e633ffde58462e01bdfb0d1ee9a642d7c.zip
gdb-a7bdde9e633ffde58462e01bdfb0d1ee9a642d7c.tar.gz
gdb-a7bdde9e633ffde58462e01bdfb0d1ee9a642d7c.tar.bz2
Unify actions and commands
* defs.h (read_command_lines, read_command_lines_1): New parameters validator and closure. * tracepoint.h (struct action_line): Remove. * breakpoint.h (struct breakpoint): Remove the 'actions' field. * defs.h (enum command_control_type): New value while_stepping_control. (struct command_line): Add comments. * breakpoint.c (breakoint_is_tracepoint): New. (breakpoint_set_commands): For tracepoints, verify the commands are permissible. (check_tracepoint_commands): New. (commands_command): Require that each new line is validated using check_tracepoint_command, if we set commands for a tracepoint. (create_tracepoint_from_upload): Likewise. (print_one_breakpoint_location): Remove the code to print actions specifically. (tracepoint_save_command): Relay to print_command_lines. * cli/cli-script.c (process_next_line): New parameters validator and closure. Handle 'while-stepping'. Call validator if not null. (read_command_lines, read_command_lines1): Likewise. (recurse_read_control_structure): New parameters validator and closure. Handle while_stepping_control. (print_command_lines): Handle while-stepping. (get_command_line, define_command, document_command): Adjust. * remote.c (remote_download_tracepoint): Adjust. * tracepoint.c (make_cleanup_free_actions, read_actions) (free_actions, do_free_actions_cleanup): Remove. (trace_actions_command): Use read_command_lines. (validate_actionline): Use error in one place. (encode_actions_1): New, extracted from... (encode_actions): ...this. Also use cleanups for exception safety. (trace_dump_command): Adjust. * mi/mi-cmd-break (mi_cmd_break_commands): Validate commands if it's tracepoint.
Diffstat (limited to 'gdb/mi')
-rw-r--r--gdb/mi/mi-cmd-break.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gdb/mi/mi-cmd-break.c b/gdb/mi/mi-cmd-break.c
index 3ed652c..204565c 100644
--- a/gdb/mi/mi-cmd-break.c
+++ b/gdb/mi/mi-cmd-break.c
@@ -271,7 +271,12 @@ mi_cmd_break_commands (char *command, char **argv, int argc)
mi_command_line_array_ptr = 1;
mi_command_line_array_cnt = argc;
- break_command = read_command_lines_1 (mi_read_next_line, 1);
+ if (breakpoint_is_tracepoint (b))
+ break_command = read_command_lines_1 (mi_read_next_line, 1,
+ check_tracepoint_command, b);
+ else
+ break_command = read_command_lines_1 (mi_read_next_line, 1, 0, 0);
+
breakpoint_set_commands (b, break_command);
}