Introduce command_line_up
This introduces command_line_up, a unique_ptr for command_line objects, and changes many places to use it. This removes a number of cleanups. Command lines are funny in that sometimes they are reference counted. Once there is more C++-ification of some of the users, perhaps all of these can be changed to use shared_ptr instead. gdb/ChangeLog 2017-04-12 Tom Tromey <tom@tromey.com> * tracepoint.c (actions_command): Update. * python/python.c (python_command, python_interactive_command): Update. * mi/mi-cmd-break.c (mi_cmd_break_commands): Update. * guile/guile.c (guile_command): Update. * defs.h (read_command_lines, read_command_lines_1): Return command_line_up. (command_lines_deleter): New struct. (command_line_up): New typedef. * compile/compile.c (compile_code_command) (compile_print_command): Update. * cli/cli-script.h (get_command_line, copy_command_lines): Return command_line_up. (make_cleanup_free_command_lines): Remove. * cli/cli-script.c (get_command_line, read_command_lines_1) (copy_command_lines): Return command_line_up. (while_command, if_command, read_command_lines, define_command) (document_command): Update. (do_free_command_lines_cleanup, make_cleanup_free_command_lines): Remove. * breakpoint.h (breakpoint_set_commands): Change type of "commands". * breakpoint.c (breakpoint_set_commands): Change type of "commands". Update. (do_map_commands_command, update_dprintf_command_list) (create_tracepoint_from_upload): Update.
This commit is contained in:
parent
ffc2605c41
commit
93921405a4
11 changed files with 108 additions and 115 deletions
|
@ -38,16 +38,13 @@ extern enum command_control_type
|
|||
extern enum command_control_type
|
||||
execute_control_command_untraced (struct command_line *cmd);
|
||||
|
||||
extern struct command_line *get_command_line (enum command_control_type,
|
||||
const char *);
|
||||
extern command_line_up get_command_line (enum command_control_type,
|
||||
const char *);
|
||||
|
||||
extern void print_command_lines (struct ui_out *,
|
||||
struct command_line *, unsigned int);
|
||||
|
||||
extern struct command_line * copy_command_lines (struct command_line *cmds);
|
||||
|
||||
extern struct cleanup *
|
||||
make_cleanup_free_command_lines (struct command_line **arg);
|
||||
extern command_line_up copy_command_lines (struct command_line *cmds);
|
||||
|
||||
/* Exported to gdb/infrun.c */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue