Move decode_location_spec to code_breakpoint
authorTom Tromey <tom@tromey.com>
Sat, 21 May 2022 16:17:38 +0000 (10:17 -0600)
committerTom Tromey <tom@tromey.com>
Sun, 14 Aug 2022 00:47:55 +0000 (18:47 -0600)
breakpoint::decode_location_spec just asserts if called.  It turned
out to be relatively easy to remove this method from breakpoint and
instead move the base implementation to code_breakpoint.

gdb/breakpoint.c
gdb/breakpoint.h

index b24fbd1fe3617f2f3bd205913b26281395ddd33a..2fe74ea0d3a4b893c2352aa1a87a7d8565e6aca1 100644 (file)
@@ -11493,13 +11493,6 @@ breakpoint::print_recreate (struct ui_file *fp) const
   internal_error_pure_virtual_called ();
 }
 
-std::vector<symtab_and_line>
-breakpoint::decode_location_spec (location_spec *locspec,
-                                 program_space *search_pspace)
-{
-  internal_error_pure_virtual_called ();
-}
-
 /* Default breakpoint_ops methods.  */
 
 void
index e919fe6f0d2d07b52db9bb173056897c78326a99..aaf7549b660a061c915444271f9e754301c3c3f7 100644 (file)
@@ -710,16 +710,6 @@ struct breakpoint
   /* Print to FP the CLI command that recreates this breakpoint.  */
   virtual void print_recreate (struct ui_file *fp) const;
 
-  /* Given the location spec (second parameter), this method decodes
-     it and returns the SAL locations related to it.  For ordinary
-     breakpoints, it calls `decode_line_full'.  If SEARCH_PSPACE is
-     not NULL, symbol search is restricted to just that program space.
-
-     This function is called inside `location_spec_to_sals'.  */
-  virtual std::vector<symtab_and_line> decode_location_spec
-    (location_spec *locspec,
-     struct program_space *search_pspace);
-
   /* Return true if this breakpoint explains a signal.  See
      bpstat_explains_signal.  */
   virtual bool explains_signal (enum gdb_signal)
@@ -883,12 +873,19 @@ struct code_breakpoint : public breakpoint
                      const address_space *aspace,
                      CORE_ADDR bp_addr,
                      const target_waitstatus &ws) override;
-  std::vector<symtab_and_line> decode_location_spec
-       (struct location_spec *locspec,
-       struct program_space *search_pspace) override;
 
 protected:
 
+  /* Given the location spec, this method decodes it and returns the
+     SAL locations related to it.  For ordinary breakpoints, it calls
+     `decode_line_full'.  If SEARCH_PSPACE is not NULL, symbol search
+     is restricted to just that program space.
+
+     This function is called inside `location_spec_to_sals'.  */
+  virtual std::vector<symtab_and_line> decode_location_spec
+    (location_spec *locspec,
+     struct program_space *search_pspace);
+
   /* Helper method that does the basic work of re_set.  */
   void re_set_default ();