]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Print field accessibility inline
authorTom Tromey <tromey@adacore.com>
Thu, 21 Sep 2023 16:49:57 +0000 (10:49 -0600)
committerTom Tromey <tromey@adacore.com>
Tue, 21 Nov 2023 21:52:04 +0000 (14:52 -0700)
This changes recursive_dump_type to print field accessibility
information "inline".  This is clearer and preserves the information
when the byte vectors are removed.

Acked-By: Simon Marchi <simon.marchi@efficios.com>
Reviewed-by: Keith Seitz <keiths@redhat.com>
gdb/gdbtypes.c

index 7241143f29b95d1a549477485190492564ab8ef1..1b49628589ee7fbeb71ec2796f07defdfe52a4d1 100644 (file)
@@ -5289,12 +5289,23 @@ recursive_dump_type (struct type *type, int spaces)
        gdb_printf ("%*s[%d] bitpos %s bitsize %d type ", spaces + 2, "",
                    idx, plongest (type->field (idx).loc_bitpos ()),
                    type->field (idx).bitsize ());
-      gdb_printf ("%s name '%s' (%s)\n",
+      gdb_printf ("%s name '%s' (%s)",
                  host_address_to_string (type->field (idx).type ()),
                  type->field (idx).name () != NULL
                  ? type->field (idx).name ()
                  : "<NULL>",
                  host_address_to_string (type->field (idx).name ()));
+      if (TYPE_FIELD_VIRTUAL (type, idx))
+       gdb_printf (" virtual");
+
+      if (TYPE_FIELD_PRIVATE (type, idx))
+       gdb_printf (" private");
+      else if (TYPE_FIELD_PROTECTED (type, idx))
+       gdb_printf (" protected");
+      else if (TYPE_FIELD_IGNORE (type, idx))
+       gdb_printf (" ignored");
+
+      gdb_printf ("\n");
       if (type->field (idx).type () != NULL)
        {
          recursive_dump_type (type->field (idx).type (), spaces + 4);