diff options
author | Tom Tromey <tom@tromey.com> | 2022-09-29 17:16:04 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2022-10-04 16:17:08 -0600 |
commit | 8f5bc64185aafbc6ec26c889bc67367600fc027e (patch) | |
tree | 1d3b2281aff56a8248949a8aff094c900c32d85b /gdb | |
parent | 27e602128ba5a8b8c0e457c1812721c8dca612c4 (diff) | |
download | fsf-binutils-gdb-8f5bc64185aafbc6ec26c889bc67367600fc027e.zip fsf-binutils-gdb-8f5bc64185aafbc6ec26c889bc67367600fc027e.tar.gz fsf-binutils-gdb-8f5bc64185aafbc6ec26c889bc67367600fc027e.tar.bz2 |
Remove decode_location_spec_default
This removes decode_location_spec_default, inlining it into its sole
caller.
Regression tested on x86-64 Fedora 34.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/breakpoint.c | 45 |
1 files changed, 15 insertions, 30 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 002f4a9..c8c3412 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -100,10 +100,6 @@ static void create_breakpoints_sal (struct gdbarch *, int, int, int, int, unsigned); -static std::vector<symtab_and_line> decode_location_spec_default - (struct breakpoint *b, struct location_spec *locspec, - struct program_space *search_pspace); - static int can_use_hardware_watchpoint (const std::vector<value_ref_ptr> &vals); @@ -11692,7 +11688,21 @@ code_breakpoint::decode_location_spec (location_spec *locspec, if (locspec->type () == PROBE_LOCATION_SPEC) return bkpt_probe_decode_location_spec (this, locspec, search_pspace); - return decode_location_spec_default (this, locspec, search_pspace); + struct linespec_result canonical; + + decode_line_full (locspec, DECODE_LINE_FUNFIRSTLINE, search_pspace, + NULL, 0, &canonical, multiple_symbols_all, + filter.get ()); + + /* We should get 0 or 1 resulting SALs. */ + gdb_assert (canonical.lsals.size () < 2); + + if (!canonical.lsals.empty ()) + { + const linespec_sals &lsal = canonical.lsals[0]; + return std::move (lsal.sals); + } + return {}; } /* Virtual table for internal breakpoints. */ @@ -12750,31 +12760,6 @@ create_sals_from_location_spec_default (location_spec *locspec, parse_breakpoint_sals (locspec, canonical); } -/* Decode the line represented by S by calling decode_line_full. This is the - default function for the `decode_location' method of breakpoint_ops. */ - -static std::vector<symtab_and_line> -decode_location_spec_default (struct breakpoint *b, - location_spec *locspec, - program_space *search_pspace) -{ - struct linespec_result canonical; - - decode_line_full (locspec, DECODE_LINE_FUNFIRSTLINE, search_pspace, - NULL, 0, &canonical, multiple_symbols_all, - b->filter.get ()); - - /* We should get 0 or 1 resulting SALs. */ - gdb_assert (canonical.lsals.size () < 2); - - if (!canonical.lsals.empty ()) - { - const linespec_sals &lsal = canonical.lsals[0]; - return std::move (lsal.sals); - } - return {}; -} - /* Reset a breakpoint. */ static void |