jit: c++-ify gdb_block
[deliverable/binutils-gdb.git] / gdb / cp-valprint.c
index d8d5c06fd1eb03abf3127812f689614e3e4e6ae2..0ec84f6799e7d1c7da309b5abf0ef6da7e941951 100644 (file)
 #include "language.h"
 #include "extension.h"
 #include "typeprint.h"
-#include "common/byte-vector.h"
-
-/* Controls printing of vtbl's.  */
-static void
-show_vtblprint (struct ui_file *file, int from_tty,
-               struct cmd_list_element *c, const char *value)
-{
-  fprintf_filtered (file, _("\
-Printing of C++ virtual function tables is %s.\n"),
-                   value);
-}
-
-/* Controls looking up an object's derived type using what we find in
-   its vtables.  */
-static void
-show_objectprint (struct ui_file *file, int from_tty,
-                 struct cmd_list_element *c,
-                 const char *value)
-{
-  fprintf_filtered (file, _("\
-Printing of object's derived type based on vtable info is %s.\n"),
-                   value);
-}
-
-static void
-show_static_field_print (struct ui_file *file, int from_tty,
-                        struct cmd_list_element *c,
-                        const char *value)
-{
-  fprintf_filtered (file,
-                   _("Printing of C++ static members is %s.\n"),
-                   value);
-}
-
+#include "gdbsupport/byte-vector.h"
+#include "gdbarch.h"
+#include "cli/cli-style.h"
 
 static struct obstack dont_print_vb_obstack;
 static struct obstack dont_print_statmem_obstack;
@@ -87,7 +56,7 @@ static void cp_print_value (struct type *, struct type *,
 
 
 /* GCC versions after 2.4.5 use this.  */
-extern const char vtbl_ptr_name[] = "__vtbl_ptr_type";
+const char vtbl_ptr_name[] = "__vtbl_ptr_type";
 
 /* Return truth value for assertion that TYPE is of the type
    "pointer to virtual function".  */
@@ -202,7 +171,7 @@ cp_print_value_fields (struct type *type, struct type *real_type,
 
   /* If there are no data fields, skip this part */
   if (len == n_baseclasses || !len)
-    fprintf_filtered (stream, "<No data fields>");
+    fprintf_styled (stream, metadata_style.style (), "<No data fields>");
   else
     {
       size_t statmem_obstack_initial_size = 0;
@@ -300,7 +269,8 @@ cp_print_value_fields (struct type *type, struct type *real_type,
                 byte order problems.  */
              if (TYPE_FIELD_IGNORE (type, i))
                {
-                 fputs_filtered ("<optimized out or zero length>", stream);
+                 fputs_styled ("<optimized out or zero length>",
+                               metadata_style.style (), stream);
                }
              else if (value_bits_synthetic_pointer (val,
                                                     TYPE_FIELD_BITPOS (type,
@@ -308,7 +278,8 @@ cp_print_value_fields (struct type *type, struct type *real_type,
                                                     TYPE_FIELD_BITSIZE (type,
                                                                         i)))
                {
-                 fputs_filtered (_("<synthetic pointer>"), stream);
+                 fputs_styled (_("<synthetic pointer>"),
+                               metadata_style.style (), stream);
                }
              else
                {
@@ -324,8 +295,8 @@ cp_print_value_fields (struct type *type, struct type *real_type,
            {
              if (TYPE_FIELD_IGNORE (type, i))
                {
-                 fputs_filtered ("<optimized out or zero length>",
-                                 stream);
+                 fputs_styled ("<optimized out or zero length>",
+                               metadata_style.style (), stream);
                }
              else if (field_is_static (&TYPE_FIELD (type, i)))
                {
@@ -335,13 +306,13 @@ cp_print_value_fields (struct type *type, struct type *real_type,
 
                      cp_print_static_field (TYPE_FIELD_TYPE (type, i),
                                             v, stream, recurse + 1,
-                                            options);
+                                            opts);
                    }
                  catch (const gdb_exception_error &ex)
                    {
-                     fprintf_filtered (stream,
-                                       _("<error reading variable: %s>"),
-                                       ex.what ());
+                     fprintf_styled (stream, metadata_style.style (),
+                                     _("<error reading variable: %s>"),
+                                     ex.what ());
                    }
                }
              else if (i == vptr_fieldno && type == vptr_basetype)
@@ -667,9 +638,9 @@ cp_print_static_field (struct type *type,
        {
          if (value_address (val) == first_dont_print[i])
            {
-             fputs_filtered ("<same as static member of an already"
-                             " seen type>",
-                             stream);
+             fputs_styled (_("<same as static member of an already"
+                             " seen type>"),
+                           metadata_style.style (), stream);
              return;
            }
        }
@@ -699,9 +670,9 @@ cp_print_static_field (struct type *type,
        {
          if (target_type == first_dont_print[i])
            {
-             fputs_filtered ("<same as static member of an already"
-                             " seen type>",
-                             stream);
+             fputs_styled (_("<same as static member of an already"
+                             " seen type>"),
+                           metadata_style.style (), stream);
              return;
            }
        }
@@ -769,7 +740,7 @@ void
 cp_print_class_member (const gdb_byte *valaddr, struct type *type,
                       struct ui_file *stream, const char *prefix)
 {
-  enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type));
+  enum bfd_endian byte_order = type_byte_order (type);
 
   /* VAL is a byte offset into the structure type SELF_TYPE.
      Find the name of the field for that offset and
@@ -821,30 +792,6 @@ cp_print_class_member (const gdb_byte *valaddr, struct type *type,
 void
 _initialize_cp_valprint (void)
 {
-  add_setshow_boolean_cmd ("static-members", class_support,
-                          &user_print_options.static_field_print, _("\
-Set printing of C++ static members."), _("\
-Show printing of C++ static members."), NULL,
-                          NULL,
-                          show_static_field_print,
-                          &setprintlist, &showprintlist);
-
-  add_setshow_boolean_cmd ("vtbl", class_support,
-                          &user_print_options.vtblprint, _("\
-Set printing of C++ virtual function tables."), _("\
-Show printing of C++ virtual function tables."), NULL,
-                          NULL,
-                          show_vtblprint,
-                          &setprintlist, &showprintlist);
-
-  add_setshow_boolean_cmd ("object", class_support,
-                          &user_print_options.objectprint, _("\
-Set printing of object's derived type based on vtable info."), _("\
-Show printing of object's derived type based on vtable info."), NULL,
-                          NULL,
-                          show_objectprint,
-                          &setprintlist, &showprintlist);
-
   obstack_begin (&dont_print_stat_array_obstack,
                 32 * sizeof (struct type *));
   obstack_begin (&dont_print_statmem_obstack,
This page took 0.027428 seconds and 4 git commands to generate.