From: Tom Tromey Date: Fri, 13 Mar 2020 23:39:52 +0000 (-0600) Subject: Change print_field_values to use value-based API X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3a916a975745f386cabbaba64531ed9b5f8be509;p=binutils-gdb.git Change print_field_values to use value-based API This converts print_field_values to use the value-based API, by having it call common_val_print rather than val_print. gdb/ChangeLog 2020-03-13 Tom Tromey * ada-valprint.c (print_field_values): Call common_val_print. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3f8d8b1ef9b..767f3b73e99 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2020-03-13 Tom Tromey + + * ada-valprint.c (print_field_values): Call common_val_print. + 2020-03-13 Tom Tromey * ada-valprint.c (val_print_packed_array_elements): Remove diff --git a/gdb/ada-valprint.c b/gdb/ada-valprint.c index fc34ca5e6e2..8631f7ab228 100644 --- a/gdb/ada-valprint.c +++ b/gdb/ada-valprint.c @@ -684,10 +684,7 @@ print_field_values (struct type *type, const gdb_byte *valaddr, bit_size, TYPE_FIELD_TYPE (type, i)); opts = *options; opts.deref_ref = 0; - val_print (TYPE_FIELD_TYPE (type, i), - value_embedded_offset (v), 0, - stream, recurse + 1, v, - &opts, language); + common_val_print (v, stream, recurse + 1, &opts, language); } } else @@ -695,9 +692,12 @@ print_field_values (struct type *type, const gdb_byte *valaddr, struct value_print_options opts = *options; opts.deref_ref = 0; - val_print (TYPE_FIELD_TYPE (type, i), - (offset + TYPE_FIELD_BITPOS (type, i) / HOST_CHAR_BIT), - 0, stream, recurse + 1, val, &opts, language); + + LONGEST local_off = (offset + TYPE_FIELD_BITPOS (type, i) + / HOST_CHAR_BIT); + struct value *v = value_from_contents (TYPE_FIELD_TYPE (type, i), + valaddr + local_off); + common_val_print (v, stream, recurse + 1, &opts, language); } annotate_field_end (); }