summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2023-01-10 08:17:28 -0700
committerTom Tromey <tromey@adacore.com>2023-01-10 14:09:32 -0700
commit7987c4636abedbf4cd5658ac594e3b936eb43d91 (patch)
tree435c64e4ca4734bc2a3cdf9aa75c7003a9afc133
parent8ec0b0b5df0ebe28c32900afc7ae8ff22b21f381 (diff)
downloadbinutils-gdb-7987c4636abedbf4cd5658ac594e3b936eb43d91.tar.gz
Convert say_where to method on code_breakpoint
'say_where' is only useful (and only called for) code breakpoints, so convert it to be a protected method on code_breakpoint.
-rw-r--r--gdb/breakpoint.c49
-rw-r--r--gdb/breakpoint.h4
2 files changed, 28 insertions, 25 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 8cfc46e0bed..6762fad5d2c 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -11496,11 +11496,10 @@ bpstat_remove_breakpoint_callback (struct thread_info *th, void *data)
return 0;
}
-/* Helper for breakpoint and tracepoint breakpoint->mention
- callbacks. */
+/* See breakpoint.h. */
-static void
-say_where (const breakpoint *b)
+void
+code_breakpoint::say_where () const
{
struct value_print_options opts;
@@ -11508,58 +11507,58 @@ say_where (const breakpoint *b)
/* i18n: cagney/2005-02-11: Below needs to be merged into a
single string. */
- if (b->loc == NULL)
+ if (loc == NULL)
{
/* For pending locations, the output differs slightly based
- on b->extra_string. If this is non-NULL, it contains either
+ on extra_string. If this is non-NULL, it contains either
a condition or dprintf arguments. */
- if (b->extra_string == NULL)
+ if (extra_string == NULL)
{
- gdb_printf (_(" (%s) pending."), b->locspec->to_string ());
+ gdb_printf (_(" (%s) pending."), locspec->to_string ());
}
- else if (b->type == bp_dprintf)
+ else if (type == bp_dprintf)
{
gdb_printf (_(" (%s,%s) pending."),
- b->locspec->to_string (),
- b->extra_string.get ());
+ locspec->to_string (),
+ extra_string.get ());
}
else
{
gdb_printf (_(" (%s %s) pending."),
- b->locspec->to_string (),
- b->extra_string.get ());
+ locspec->to_string (),
+ extra_string.get ());
}
}
else
{
- if (opts.addressprint || b->loc->symtab == NULL)
+ if (opts.addressprint || loc->symtab == NULL)
gdb_printf (" at %ps",
styled_string (address_style.style (),
- paddress (b->loc->gdbarch,
- b->loc->address)));
- if (b->loc->symtab != NULL)
+ paddress (loc->gdbarch,
+ loc->address)));
+ if (loc->symtab != NULL)
{
/* If there is a single location, we can print the location
more nicely. */
- if (b->loc->next == NULL)
+ if (loc->next == NULL)
{
const char *filename
- = symtab_to_filename_for_display (b->loc->symtab);
+ = symtab_to_filename_for_display (loc->symtab);
gdb_printf (": file %ps, line %d.",
styled_string (file_name_style.style (),
filename),
- b->loc->line_number);
+ loc->line_number);
}
else
/* This is not ideal, but each location may have a
different file name, and this at least reflects the
real situation somewhat. */
- gdb_printf (": %s.", b->locspec->to_string ());
+ gdb_printf (": %s.", locspec->to_string ());
}
- if (b->loc->next)
+ if (loc->next)
{
- struct bp_location *loc = b->loc;
+ struct bp_location *loc = loc;
int n = 0;
for (; loc; loc = loc->next)
++n;
@@ -11794,7 +11793,7 @@ ordinary_breakpoint::print_mention () const
break;
}
- say_where (this);
+ say_where ();
}
void
@@ -12054,7 +12053,7 @@ tracepoint::print_mention () const
internal_error (_("unhandled tracepoint type %d"), (int) type);
}
- say_where (this);
+ say_where ();
}
void
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index 7289a09e95c..399bd037977 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -898,6 +898,10 @@ protected:
(location_spec *locspec,
struct program_space *search_pspace,
int *found);
+
+ /* Helper for breakpoint and tracepoint breakpoint->mention
+ callbacks. */
+ void say_where () const;
};
/* An instance of this type is used to represent a watchpoint,