From 26792ee0345c09bd1c76f3ee0e16ed15ab7215b9 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 13 Mar 2020 17:39:52 -0600 Subject: [PATCH] Introduce ada_value_print_inner This introduces ada_value_print_inner. gdb/ChangeLog 2020-03-13 Tom Tromey * ada-valprint.c (ada_value_print_inner): New function. * ada-lang.h (ada_value_print_inner): Declare. * ada-lang.c (ada_language_defn): Use ada_value_print_inner. --- gdb/ChangeLog | 6 ++++++ gdb/ada-lang.c | 2 +- gdb/ada-lang.h | 5 +++++ gdb/ada-valprint.c | 11 +++++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5e59716335..25eb0f5efe 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2020-03-13 Tom Tromey + + * ada-valprint.c (ada_value_print_inner): New function. + * ada-lang.h (ada_value_print_inner): Declare. + * ada-lang.c (ada_language_defn): Use ada_value_print_inner. + 2020-03-13 Tom Tromey * f-valprint.c (f_value_print_innner): New function. diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index fb3bfa5aba..9fb59e3a62 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -14110,7 +14110,7 @@ extern const struct language_defn ada_language_defn = { ada_print_type, /* Print a type using appropriate syntax */ ada_print_typedef, /* Print a typedef using appropriate syntax */ ada_val_print, /* Print a value using appropriate syntax */ - nullptr, /* la_value_print_inner */ + ada_value_print_inner, /* la_value_print_inner */ ada_value_print, /* Print a top-level value */ ada_read_var_value, /* la_read_var_value */ NULL, /* Language specific skip_trampoline */ diff --git a/gdb/ada-lang.h b/gdb/ada-lang.h index e388c7528b..f7c09519be 100644 --- a/gdb/ada-lang.h +++ b/gdb/ada-lang.h @@ -169,6 +169,11 @@ extern void ada_val_print (struct type *, int, CORE_ADDR, struct value *, const struct value_print_options *); +/* Implement la_value_print_inner for Ada. */ + +extern void ada_value_print_inner (struct value *, struct ui_file *, int, + const struct value_print_options *); + extern void ada_value_print (struct value *, struct ui_file *, const struct value_print_options *); diff --git a/gdb/ada-valprint.c b/gdb/ada-valprint.c index b918caf473..c983cbbab7 100644 --- a/gdb/ada-valprint.c +++ b/gdb/ada-valprint.c @@ -1222,6 +1222,17 @@ ada_val_print (struct type *type, } } +/* See ada-lang.h. */ + +void +ada_value_print_inner (struct value *val, struct ui_file *stream, + int recurse, + const struct value_print_options *options) +{ + ada_val_print (value_type (val), value_embedded_offset (val), + value_address (val), stream, recurse, val, options); +} + void ada_value_print (struct value *val0, struct ui_file *stream, const struct value_print_options *options) -- 2.34.1