diff options
author | Pedro Alves <pedro@palves.net> | 2022-05-06 22:48:11 +0100 |
---|---|---|
committer | Pedro Alves <pedro@palves.net> | 2022-05-20 20:41:00 +0100 |
commit | b925bf21e073f0d9531385e8cfc3a825887c0778 (patch) | |
tree | 06b70de1951670dd4380b225250306b93c671df5 /gdb | |
parent | 27a62b4359a2718012eaf86bbeedb8662ec9f41b (diff) | |
download | gdb-b925bf21e073f0d9531385e8cfc3a825887c0778.zip gdb-b925bf21e073f0d9531385e8cfc3a825887c0778.tar.gz gdb-b925bf21e073f0d9531385e8cfc3a825887c0778.tar.bz2 |
ranged_breakpoint: move initialization to ctor
Move initialization of ranged_breakpoint's fields to its ctor.
Change-Id: If7b842861f3cc6a429ea329d45598b5852283ba3
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/breakpoint.c | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index ced976c..1c1dbfb 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -317,9 +317,20 @@ struct dprintf_breakpoint : public ordinary_breakpoint /* Ranged breakpoints. */ struct ranged_breakpoint : public ordinary_breakpoint { - explicit ranged_breakpoint (struct gdbarch *gdbarch) + explicit ranged_breakpoint (struct gdbarch *gdbarch, + const symtab_and_line &sal_start, + int length, + event_location_up start_location, + event_location_up end_location) : ordinary_breakpoint (gdbarch, bp_hardware_breakpoint) { + bp_location *bl = add_location (sal_start); + bl->length = length; + + disposition = disp_donttouch; + + location = std::move (start_location); + location_range_end = std::move (end_location); } int breakpoint_hit (const struct bp_location *bl, @@ -9436,13 +9447,13 @@ break_range_command (const char *arg, int from_tty) return; } - /* Now set up the breakpoint. */ - std::unique_ptr<breakpoint> br (new ranged_breakpoint (get_current_arch ())); - br->add_location (sal_start); - br->disposition = disp_donttouch; - br->location = std::move (start_location); - br->location_range_end = std::move (end_location); - br->loc->length = length; + /* Now set up the breakpoint and install it. */ + + std::unique_ptr<breakpoint> br + (new ranged_breakpoint (get_current_arch (), + sal_start, length, + std::move (start_location), + std::move (end_location))); install_breakpoint (false, std::move (br), true); } |