Introduce cp_print_value_fields and c_value_print_struct

This adds cp_print_value_fields and c_value_print_struct, value-based
analogues of the corresponding val-printing functions.  Note that the
Modula-2 printing code also calls cp_print_val_fields, and so is
updated to call the function function.

gdb/ChangeLog
2020-03-13  Tom Tromey  <tom@tromey.com>

	* m2-valprint.c (m2_value_print_inner): Use
	cp_print_value_fields.
	* cp-valprint.c	(cp_print_value_fields): New function.
	* c-valprint.c (c_value_print_struct): New function.
	(c_value_print_inner): Use c_value_print_struct.
	* c-lang.h (cp_print_value_fields): Declare.
This commit is contained in:
Tom Tromey 2020-03-13 17:39:52 -06:00
parent 6999f067c1
commit 64b653ca70
5 changed files with 322 additions and 11 deletions

View file

@ -135,6 +135,11 @@ extern void c_type_print_base (struct type *, struct ui_file *,
extern void cp_print_class_member (const gdb_byte *, struct type *,
struct ui_file *, const char *);
extern void cp_print_value_fields (struct value *,
struct ui_file *, int,
const struct value_print_options *,
struct type **, int);
extern void cp_print_value_fields (struct type *, struct type *,
LONGEST, CORE_ADDR,
struct ui_file *, int,