Avoid MinGW compilation warning in readline/input.c
[deliverable/binutils-gdb.git] / gdb / cp-valprint.c
index 82e505ada8f91dfad7dd2364cac036a4e5f0f2ac..73fe03d5c9b035f12aea2192d908d3ab4f5c94d9 100644 (file)
@@ -1,6 +1,6 @@
 /* Support for printing C++ values for GDB, the GNU debugger.
 
-   Copyright (C) 1986-2016 Free Software Foundation, Inc.
+   Copyright (C) 1986-2017 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -80,7 +80,7 @@ static void cp_print_static_field (struct type *, struct value *,
                                   const struct value_print_options *);
 
 static void cp_print_value (struct type *, struct type *,
-                           const gdb_byte *, LONGEST,
+                           LONGEST,
                            CORE_ADDR, struct ui_file *,
                            int, struct value *,
                            const struct value_print_options *,
@@ -154,7 +154,7 @@ cp_is_vtbl_member (struct type *type)
 
 void
 cp_print_value_fields (struct type *type, struct type *real_type,
-                      const gdb_byte *valaddr, LONGEST offset,
+                      LONGEST offset,
                       CORE_ADDR address, struct ui_file *stream,
                       int recurse, struct value *val,
                       const struct value_print_options *options,
@@ -194,7 +194,7 @@ cp_print_value_fields (struct type *type, struct type *real_type,
      duplicates of virtual baseclasses.  */
 
   if (n_baseclasses > 0)
-    cp_print_value (type, real_type, valaddr, 
+    cp_print_value (type, real_type,
                    offset, address, stream,
                    recurse + 1, val, options,
                    dont_print_vb);
@@ -228,6 +228,8 @@ cp_print_value_fields (struct type *type, struct type *real_type,
       vptr_fieldno = get_vptr_fieldno (type, &vptr_basetype);
       for (i = n_baseclasses; i < len; i++)
        {
+         const gdb_byte *valaddr = value_contents_for_printing (val);
+
          /* If requested, skip printing of static fields.  */
          if (!options->static_field_print
              && field_is_static (&TYPE_FIELD (type, i)))
@@ -449,7 +451,7 @@ cp_print_value_fields_rtti (struct type *type,
   if (!real_type)
     real_type = type;
 
-  cp_print_value_fields (type, real_type, valaddr, offset,
+  cp_print_value_fields (type, real_type, offset,
                         address, stream, recurse, val, options,
                         dont_print_vb, dont_print_statmem);
 }
@@ -459,7 +461,7 @@ cp_print_value_fields_rtti (struct type *type,
 
 static void
 cp_print_value (struct type *type, struct type *real_type,
-               const gdb_byte *valaddr, LONGEST offset,
+               LONGEST offset,
                CORE_ADDR address, struct ui_file *stream,
                int recurse, struct value *val,
                const struct value_print_options *options,
@@ -471,6 +473,7 @@ cp_print_value (struct type *type, struct type *real_type,
   int i, n_baseclasses = TYPE_N_BASECLASSES (type);
   LONGEST thisoffset;
   struct type *thistype;
+  const gdb_byte *valaddr = value_contents_for_printing (val);
 
   if (dont_print_vb == 0)
     {
@@ -487,7 +490,6 @@ cp_print_value (struct type *type, struct type *real_type,
       int skip = 0;
       struct type *baseclass = check_typedef (TYPE_BASECLASS (type, i));
       const char *basename = TYPE_NAME (baseclass);
-      const gdb_byte *base_valaddr = NULL;
       struct value *base_val = NULL;
 
       if (BASETYPE_VIA_VIRTUAL (type, i))
@@ -548,18 +550,15 @@ cp_print_value (struct type *type, struct type *real_type,
                  thisoffset = 0;
                  boffset = 0;
                  thistype = baseclass;
-                 base_valaddr = value_contents_for_printing_const (base_val);
                  do_cleanups (back_to);
                }
              else
                {
-                 base_valaddr = valaddr;
                  base_val = val;
                }
            }
          else
            {
-             base_valaddr = valaddr;
              base_val = val;
            }
        }
@@ -588,7 +587,7 @@ cp_print_value (struct type *type, struct type *real_type,
             baseclass if possible.  */
          if (!options->raw)
            result
-             = apply_ext_lang_val_pretty_printer (baseclass, base_valaddr,
+             = apply_ext_lang_val_pretty_printer (baseclass,
                                                   thisoffset + boffset,
                                                   value_address (base_val),
                                                   stream, recurse,
@@ -596,7 +595,7 @@ cp_print_value (struct type *type, struct type *real_type,
                                                   current_language);
 
          if (!result)
-           cp_print_value_fields (baseclass, thistype, base_valaddr,
+           cp_print_value_fields (baseclass, thistype,
                                   thisoffset + boffset,
                                   value_address (base_val),
                                   stream, recurse, base_val, options,
@@ -671,7 +670,6 @@ cp_print_static_field (struct type *type,
                    sizeof (CORE_ADDR));
       type = check_typedef (type);
       cp_print_value_fields (type, value_enclosing_type (val),
-                            value_contents_for_printing (val),
                             value_embedded_offset (val), addr,
                             stream, recurse, val,
                             options, NULL, 1);
@@ -761,7 +759,7 @@ cp_find_class_member (struct type **self_p, int *fieldno,
 
 void
 cp_print_class_member (const gdb_byte *valaddr, struct type *type,
-                      struct ui_file *stream, char *prefix)
+                      struct ui_file *stream, const char *prefix)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type));
 
This page took 0.025867 seconds and 4 git commands to generate.