Re: [PATCH] Minor 'debug_*' function improvements
Tom de Vries <[email protected]>
| Newsgroups | gmane.comp.gdb.patches |
|---|---|
| Message-ID | <[email protected]> |
On 8/5/26 9:24 PM, Tom Tromey wrote: > I wanted to get a summary of a type in gdb and then realized I had > forgotten the function name, so I had to dig around to find it. This > made me think that perhaps renaming the debug_* functions to all just > be named 'debug' would be an improvement, since it's easier to > remember. > > Then I noticed that debug_type and debug_val don't print a trailing > newline. > > Finally, I needed to be able to see the contents of a gdb_mpz. Hi, this LGTM. FWIW, I did a Claude Code review that pointed out that there's an inconsistency in using ATTRIBUTE_USED vs. ATTRIBUTE_UNUSED (which I introduced). It recommended ATTRIBUTE_UNUSED (which just suppresses a warning), but the way I intended this originally fits ATTRIBUTE_USED better: "When attached to a function, this attribute means that code must be emitted for the function even if it appears that the function is not referenced". So perhaps it would be a good moment to fix this as well. Approved-By: Tom de Vries <[email protected]> Thanks, - Tom > --- > gdb/expprint.c | 4 ++-- > gdb/gmp-utils.c | 12 ++++++++++++ > gdb/typeprint.c | 5 +++-- > gdb/valprint.c | 5 +++-- > 4 files changed, 20 insertions(+), 6 deletions(-) > > diff --git a/gdb/expprint.c b/gdb/expprint.c > index bc1929b1a1b..4859d48f6a4 100644 > --- a/gdb/expprint.c > +++ b/gdb/expprint.c > @@ -35,13 +35,13 @@ > > > /* Meant to be used in debug sessions, so don't export it in a header file. */ > -extern void ATTRIBUTE_USED debug_exp (struct expression *exp); > +extern void ATTRIBUTE_USED debug (struct expression *exp); > > /* Print EXP. */ > > void > ATTRIBUTE_USED > -debug_exp (struct expression *exp) > +debug (struct expression *exp) > { > exp->dump (gdb_stdlog); > gdb_flush (gdb_stdlog); > diff --git a/gdb/gmp-utils.c b/gdb/gmp-utils.c > index 168479c50df..f681752a956 100644 > --- a/gdb/gmp-utils.c > +++ b/gdb/gmp-utils.c > @@ -39,6 +39,18 @@ gmp_string_printf (const char *fmt, ...) > return str; > } > > +/* Meant to be used in debug sessions, so don't export it in a header file. */ > +extern void ATTRIBUTE_UNUSED debug (const gdb_mpz &); > + > +/* Print VAL. */ > + > +void ATTRIBUTE_UNUSED > +debug (const gdb_mpz &val) > +{ > + gdb_printf (gdb_stdlog, "%s\n", val.str ().c_str ()); > + gdb_flush (gdb_stdlog); > +} > + > /* See gmp-utils.h. */ > > void > diff --git a/gdb/typeprint.c b/gdb/typeprint.c > index 31a9c1814a3..9177f5808f7 100644 > --- a/gdb/typeprint.c > +++ b/gdb/typeprint.c > @@ -516,14 +516,15 @@ ptype_command (const char *type_name, int from_tty) > } > > /* Meant to be used in debug sessions, so don't export it in a header file. */ > -extern void ATTRIBUTE_UNUSED debug_type (struct type *type); > +extern void ATTRIBUTE_UNUSED debug (struct type *type); > > /* Print TYPE. */ > > void ATTRIBUTE_UNUSED > -debug_type (struct type *type) > +debug (struct type *type) > { > type_print (type, "", gdb_stdlog, 1); > + gdb_printf (gdb_stdlog, "\n"); > gdb_flush (gdb_stdlog); > } > > diff --git a/gdb/valprint.c b/gdb/valprint.c > index 50a4663ca3b..dbfcbf8fad4 100644 > --- a/gdb/valprint.c > +++ b/gdb/valprint.c > @@ -1232,14 +1232,15 @@ value_print (struct value *val, struct ui_file *stream, > } > > /* Meant to be used in debug sessions, so don't export it in a header file. */ > -extern void ATTRIBUTE_UNUSED debug_val (struct value *val); > +extern void ATTRIBUTE_UNUSED debug (struct value *val); > > /* Print VAL. */ > > void ATTRIBUTE_UNUSED > -debug_val (struct value *val) > +debug (struct value *val) > { > value_print (val, gdb_stdlog, &user_print_options); > + gdb_printf (gdb_stdlog, "\n"); > gdb_flush (gdb_stdlog); > } > > > base-commit: b7da195b94b423e5cfd27a14c636ffe9f7380cdd