Introduce gdb_breakpoint_up
authorTom Tromey <tom@tromey.com>
Thu, 2 Nov 2017 04:32:45 +0000 (22:32 -0600)
committerTom Tromey <tom@tromey.com>
Sat, 4 Nov 2017 16:27:20 +0000 (10:27 -0600)
commit454dafbdf2d1293a9b18a6fe9e9c9e0911eb740c
treef33b5a538c368cfafb7784aa18e3cd6251aa74dd
parent331b71e5ee226cb5455969899274f0e43e83aa1e
Introduce gdb_breakpoint_up

This introduces gdb_breakpoint_up, a unique_ptr typedef that owns a
breakpoint.  It then changes set_momentary_breakpoint to return a
gdb_breakpoint_up and fixes up the fallout.  This then allows the
removal of make_cleanup_delete_breakpoint.

Once breakpoints are fully C++-ified, this typedef can be removed in
favor of a plain std::unique_ptr.

gdb/ChangeLog
2017-11-04  Tom Tromey  <tom@tromey.com>

* breakpoint.c (set_momentary_breakpoint): Return
breakpoint_up.
(until_break_command): Update.
(new_until_break_fsm): Change argument types to
breakpoint_up.
(set_momentary_breakpoint_at_pc): Return breakpoint_up.
(do_delete_breakpoint_cleanup, make_cleanup_delete_breakpoint):
Remove.
* infcmd.c (finish_forward): Update.
* breakpoint.h (set_momentary_breakpoint)
(set_momentary_breakpoint_at_pc): Return breakpoint_up.
(make_cleanup_delete_breakpoint): Remove.
(struct breakpoint_deleter): New.
(breakpoint_up): New typedef.
* infrun.c (insert_step_resume_breakpoint_at_sal_1): Update.
(insert_exception_resume_breakpoint): Update.
(insert_exception_resume_from_probe): Update.
(insert_longjmp_resume_breakpoint): Update.
* arm-linux-tdep.c (arm_linux_copy_svc): Update.
* elfread.c (elf_gnu_ifunc_resolver_stop): Update.
* infcall.c (call_function_by_hand_dummy): Update
gdb/ChangeLog
gdb/arm-linux-tdep.c
gdb/breakpoint.c
gdb/breakpoint.h
gdb/elfread.c
gdb/infcall.c
gdb/infcmd.c
gdb/infrun.c