Turn remaining value_contents functions into methods
authorTom Tromey <tom@tromey.com>
Tue, 31 Jan 2023 21:38:30 +0000 (14:38 -0700)
committerTom Tromey <tom@tromey.com>
Mon, 13 Feb 2023 22:22:16 +0000 (15:22 -0700)
This turns the remaining value_contents functions -- value_contents,
value_contents_all, value_contents_for_printing, and
value_contents_for_printing_const -- into methods of value.  It also
converts the static functions require_not_optimized_out and
require_available to be private methods.

Approved-By: Simon Marchi <simon.marchi@efficios.com>
84 files changed:
gdb/aarch64-tdep.c
gdb/ada-lang.c
gdb/ada-tasks.c
gdb/ada-valprint.c
gdb/alpha-tdep.c
gdb/amd64-tdep.c
gdb/amd64-windows-tdep.c
gdb/arc-tdep.c
gdb/arm-tdep.c
gdb/avr-tdep.c
gdb/bfin-tdep.c
gdb/breakpoint.c
gdb/c-lang.c
gdb/c-valprint.c
gdb/cli/cli-cmds.c
gdb/cli/cli-dump.c
gdb/compile/compile-object-load.c
gdb/cp-valprint.c
gdb/cris-tdep.c
gdb/csky-tdep.c
gdb/d-valprint.c
gdb/dwarf2/expr.c
gdb/eval.c
gdb/f-lang.c
gdb/f-valprint.c
gdb/findcmd.c
gdb/frame.c
gdb/frv-tdep.c
gdb/gdbtypes.c
gdb/gnu-v3-abi.c
gdb/go-valprint.c
gdb/guile/scm-value.c
gdb/h8300-tdep.c
gdb/hppa-tdep.c
gdb/i386-darwin-tdep.c
gdb/i386-tdep.c
gdb/i387-tdep.c
gdb/ia64-tdep.c
gdb/infcall.c
gdb/infcmd.c
gdb/iq2000-tdep.c
gdb/lm32-tdep.c
gdb/loongarch-tdep.c
gdb/m2-valprint.c
gdb/m32c-tdep.c
gdb/m32r-tdep.c
gdb/m68hc11-tdep.c
gdb/m68k-tdep.c
gdb/mep-tdep.c
gdb/mips-tdep.c
gdb/mn10300-tdep.c
gdb/msp430-tdep.c
gdb/nds32-tdep.c
gdb/nios2-tdep.c
gdb/opencl-lang.c
gdb/or1k-tdep.c
gdb/p-valprint.c
gdb/ppc-sysv-tdep.c
gdb/printcmd.c
gdb/python/py-inferior.c
gdb/python/py-unwind.c
gdb/python/py-value.c
gdb/riscv-tdep.c
gdb/rl78-tdep.c
gdb/rs6000-aix-tdep.c
gdb/rs6000-lynx178-tdep.c
gdb/rust-lang.c
gdb/rx-tdep.c
gdb/s390-tdep.c
gdb/sh-tdep.c
gdb/sparc-tdep.c
gdb/sparc64-tdep.c
gdb/stack.c
gdb/tic6x-tdep.c
gdb/tilegx-tdep.c
gdb/v850-tdep.c
gdb/valarith.c
gdb/valops.c
gdb/valprint.c
gdb/value.c
gdb/value.h
gdb/vax-tdep.c
gdb/xstormy16-tdep.c
gdb/xtensa-tdep.c

index 1a6fdbebc7622c2bf8f298352ed2e85ac4bd715c..0aaa746760e9dcc0c524f4dfb056f67d3385faab 100644 (file)
@@ -1622,7 +1622,7 @@ pass_in_x (struct gdbarch *gdbarch, struct regcache *regcache,
   int len = type->length ();
   enum type_code typecode = type->code ();
   int regnum = AARCH64_X0_REGNUM + info->ngrn;
-  const bfd_byte *buf = value_contents (arg).data ();
+  const bfd_byte *buf = arg->contents ().data ();
 
   info->argnum++;
 
@@ -1692,7 +1692,7 @@ static void
 pass_on_stack (struct aarch64_call_info *info, struct type *type,
               struct value *arg)
 {
-  const bfd_byte *buf = value_contents (arg).data ();
+  const bfd_byte *buf = arg->contents ().data ();
   int len = type->length ();
   int align;
   stack_item_t item;
@@ -1769,12 +1769,12 @@ pass_in_v_vfp_candidate (struct gdbarch *gdbarch, struct regcache *regcache,
     case TYPE_CODE_FLT:
     case TYPE_CODE_DECFLOAT:
       return pass_in_v (gdbarch, regcache, info, arg_type->length (),
-                       value_contents (arg).data ());
+                       arg->contents ().data ());
       break;
 
     case TYPE_CODE_COMPLEX:
       {
-       const bfd_byte *buf = value_contents (arg).data ();
+       const bfd_byte *buf = arg->contents ().data ();
        struct type *target_type = check_typedef (arg_type->target_type ());
 
        if (!pass_in_v (gdbarch, regcache, info, target_type->length (),
@@ -1788,7 +1788,7 @@ pass_in_v_vfp_candidate (struct gdbarch *gdbarch, struct regcache *regcache,
     case TYPE_CODE_ARRAY:
       if (arg_type->is_vector ())
        return pass_in_v (gdbarch, regcache, info, arg_type->length (),
-                         value_contents (arg).data ());
+                         arg->contents ().data ());
       /* fall through.  */
 
     case TYPE_CODE_STRUCT:
@@ -1930,7 +1930,7 @@ aarch64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
              sp = align_down (sp - len, 16);
 
              /* Write the real data into the stack.  */
-             write_memory (sp, value_contents (arg).data (), len);
+             write_memory (sp, arg->contents ().data (), len);
 
              /* Construct the indirection.  */
              arg_type = lookup_pointer_type (arg_type);
index 7f962200a1fdb2c2f22591afe96597c1f12f5079..c11182a5a0f8584a02643b0386247ded8b51cd29 100644 (file)
@@ -2516,7 +2516,7 @@ decode_constrained_packed_array (struct value *arr)
      bounds may be variable and were not passed to that function.  So,
      we further resolve the array bounds here and then update the
      sizes.  */
-  const gdb_byte *valaddr = value_contents_for_printing (arr).data ();
+  const gdb_byte *valaddr = arr->contents_for_printing ().data ();
   CORE_ADDR address = arr->address ();
   gdb::array_view<const gdb_byte> view
     = gdb::make_array_view (valaddr, type->length ());
@@ -2773,7 +2773,7 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
   if (obj == NULL)
     src = valaddr + offset;
   else
-    src = value_contents (obj).data () + offset;
+    src = obj->contents ().data () + offset;
 
   if (is_dynamic_type (type))
     {
@@ -2823,7 +2823,7 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
   else
     {
       v = value::allocate (type);
-      src = value_contents (obj).data () + offset;
+      src = obj->contents ().data () + offset;
     }
 
   if (obj != NULL)
@@ -2916,13 +2916,13 @@ ada_value_assign (struct value *toval, struct value *fromval)
       if (is_big_endian && is_scalar_type (fromval->type ()))
        from_offset = from_size - bits;
       copy_bitwise (buffer, toval->bitpos (),
-                   value_contents (fromval).data (), from_offset,
+                   fromval->contents ().data (), from_offset,
                    bits, is_big_endian);
       write_memory_with_notification (to_addr, buffer, len);
 
       val = value_copy (toval);
       memcpy (val->contents_raw ().data (),
-             value_contents (fromval).data (),
+             fromval->contents ().data (),
              type->length ());
       val->deprecated_set_type (type);
 
@@ -2973,13 +2973,13 @@ value_assign_to_component (struct value *container, struct value *component,
       copy_bitwise ((container->contents_writeable ().data ()
                     + offset_in_container),
                    container->bitpos () + bit_offset_in_container,
-                   value_contents (val).data (), src_offset, bits, 1);
+                   val->contents ().data (), src_offset, bits, 1);
     }
   else
     copy_bitwise ((container->contents_writeable ().data ()
                   + offset_in_container),
                  container->bitpos () + bit_offset_in_container,
-                 value_contents (val).data (), 0, bits, 0);
+                 val->contents ().data (), 0, bits, 0);
 }
 
 /* Determine if TYPE is an access to an unconstrained array.  */
@@ -4358,7 +4358,7 @@ ensure_lval (struct value *val)
 
       VALUE_LVAL (val) = lval_memory;
       val->set_address (addr);
-      write_memory (addr, value_contents (val).data (), len);
+      write_memory (addr, val->contents ().data (), len);
     }
 
   return val;
@@ -4529,7 +4529,7 @@ ada_convert_actual (struct value *actual, struct type *formal_type0)
 
              actual_type = ada_check_typedef (actual->type ());
              val = value::allocate (actual_type);
-             copy (value_contents (actual), val->contents_raw ());
+             copy (actual->contents (), val->contents_raw ());
              actual = ensure_lval (val);
            }
          result = value_addr (actual);
@@ -6924,7 +6924,7 @@ ada_value_primitive_field (struct value *arg1, int offset, int fieldno,
       int bit_size = TYPE_FIELD_BITSIZE (arg_type, fieldno);
 
       return ada_value_primitive_packed_val (arg1,
-                                            value_contents (arg1).data (),
+                                            arg1->contents ().data (),
                                             offset + bit_pos / 8,
                                             bit_pos % 8, bit_size, type);
     }
@@ -8846,7 +8846,7 @@ ada_to_fixed_value_create (struct type *type0, CORE_ADDR address,
       /* Our value does not live in memory; it could be a convenience
         variable, for instance.  Create a not_lval value using val0's
         contents.  */
-      return value_from_contents (type, value_contents (val0).data ());
+      return value_from_contents (type, val0->contents ().data ());
     }
 
   return value_from_contents_and_address (type, 0, address);
@@ -9290,7 +9290,7 @@ ada_promote_array_of_integrals (struct type *type, struct value *val)
       struct value *elt = value_cast (elt_type, value_subscript (val, lo + i));
       int elt_len = elt_type->length ();
 
-      copy (value_contents_all (elt), res_contents.slice (elt_len * i, elt_len));
+      copy (elt->contents_all (), res_contents.slice (elt_len * i, elt_len));
     }
 
   return res;
@@ -9436,8 +9436,8 @@ ada_value_equal (struct value *arg1, struct value *arg2)
         representations use all bits (no padding or undefined bits)
         and do not have user-defined equality.  */
       return (arg1_type->length () == arg2_type->length ()
-             && memcmp (value_contents (arg1).data (),
-                        value_contents (arg2).data (),
+             && memcmp (arg1->contents ().data (),
+                        arg2->contents ().data (),
                         arg1_type->length ()) == 0);
     }
   return value_equal (arg1, arg2);
index 671ad7af603b7a2645172f0803aa0d7a492fa79a..b14d159df149625f26e34a131d4c8939d6231ace 100644 (file)
@@ -430,7 +430,7 @@ iterate_over_live_ada_tasks (ada_task_list_iterator_ftype iterator)
 static void
 value_as_string (char *dest, struct value *val, int length)
 {
-  memcpy (dest, value_contents (val).data (), length);
+  memcpy (dest, val->contents ().data (), length);
   dest[length] = '\0';
 }
 
index 491346b450d94c459a2e21d3d7039b54c7640d4b..a56c8a1de8131d1a0742b4dac5127c9dd8063525 100644 (file)
@@ -759,7 +759,7 @@ ada_value_print_num (struct value *val, struct ui_file *stream, int recurse,
                     const struct value_print_options *options)
 {
   struct type *type = ada_check_typedef (val->type ());
-  const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+  const gdb_byte *valaddr = val->contents_for_printing ().data ();
 
   if (type->code () == TYPE_CODE_RANGE
       && (type->target_type ()->code () == TYPE_CODE_ENUM
@@ -839,7 +839,7 @@ ada_val_print_enum (struct value *value, struct ui_file *stream, int recurse,
     }
 
   struct type *type = ada_check_typedef (value->type ());
-  const gdb_byte *valaddr = value_contents_for_printing (value).data ();
+  const gdb_byte *valaddr = value->contents_for_printing ().data ();
   int offset_aligned = ada_aligned_value_addr (type, valaddr) - valaddr;
 
   len = type->num_fields ();
@@ -907,7 +907,7 @@ ada_value_print_array (struct value *val, struct ui_file *stream, int recurse,
   if (ada_is_string_type (type)
       && (options->format == 0 || options->format == 's'))
     {
-      const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+      const gdb_byte *valaddr = val->contents_for_printing ().data ();
       int offset_aligned = ada_aligned_value_addr (type, valaddr) - valaddr;
 
       ada_val_print_string (type, valaddr, offset_aligned, stream, recurse,
@@ -922,7 +922,7 @@ ada_value_print_array (struct value *val, struct ui_file *stream, int recurse,
     val_print_optimized_out (val, stream);
   else if (TYPE_FIELD_BITSIZE (type, 0) > 0)
     {
-      const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+      const gdb_byte *valaddr = val->contents_for_printing ().data ();
       int offset_aligned = ada_aligned_value_addr (type, valaddr) - valaddr;
       val_print_packed_array_elements (type, valaddr, offset_aligned,
                                       stream, recurse, options);
@@ -1021,7 +1021,7 @@ ada_value_print_inner (struct value *val, struct ui_file *stream, int recurse,
   type = val->type ();
   struct type *saved_type = type;
 
-  const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+  const gdb_byte *valaddr = val->contents_for_printing ().data ();
   CORE_ADDR address = val->address ();
   gdb::array_view<const gdb_byte> view
     = gdb::make_array_view (valaddr, type->length ());
index 5edde7abcaecd9844b12e291a52da276f1bcc380..0d51ff73b3d8b19d9e43c35b4c954bdb193c58fb 100644 (file)
@@ -253,7 +253,7 @@ alpha_register_to_value (frame_info_ptr frame, int regnum,
   /* Convert to VALTYPE.  */
 
   gdb_assert (valtype->length () == 4);
-  alpha_sts (gdbarch, out, value_contents_all (value).data ());
+  alpha_sts (gdbarch, out, value->contents_all ().data ());
 
   release_value (value);
   return 1;
@@ -360,7 +360,7 @@ alpha_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
              sp = (sp & -16) - 16;
 
              /* Write the real data into the stack.  */
-             write_memory (sp, value_contents (arg).data (), 16);
+             write_memory (sp, arg->contents ().data (), 16);
 
              /* Construct the indirection.  */
              arg_type = lookup_pointer_type (arg_type);
@@ -381,7 +381,7 @@ alpha_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
              sp = (sp & -16) - 16;
 
              /* Write the real data into the stack.  */
-             write_memory (sp, value_contents (arg).data (), 32);
+             write_memory (sp, arg->contents ().data (), 32);
 
              /* Construct the indirection.  */
              arg_type = lookup_pointer_type (arg_type);
@@ -395,7 +395,7 @@ alpha_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       m_arg->len = arg_type->length ();
       m_arg->offset = accumulate_size;
       accumulate_size = (accumulate_size + m_arg->len + 7) & ~7;
-      m_arg->contents = value_contents (arg).data ();
+      m_arg->contents = arg->contents ().data ();
     }
 
   /* Determine required argument register loads, loading an argument register
index 085e5327a7538d2b20c243c8273d3876ac198971..9c4a90287bc6bcb15373b947e45601b851d7d621 100644 (file)
@@ -995,7 +995,7 @@ if (return_method == return_method_struct)
       else
        {
          /* The argument will be passed in registers.  */
-         const gdb_byte *valbuf = value_contents (args[i]).data ();
+         const gdb_byte *valbuf = args[i]->contents ().data ();
          gdb_byte buf[8];
 
          gdb_assert (len <= 16);
@@ -1047,7 +1047,7 @@ if (return_method == return_method_struct)
   for (i = 0; i < num_stack_args; i++)
     {
       struct type *type = stack_args[i]->type ();
-      const gdb_byte *valbuf = value_contents (stack_args[i]).data ();
+      const gdb_byte *valbuf = stack_args[i]->contents ().data ();
       int len = type->length ();
 
       write_memory (sp + element * 8, valbuf, len);
index 7a7fbbb9859dbfed849e0b16e1303f3465c4e38b..07df64bed609fedbbe1e09364b0c604922ef978e 100644 (file)
@@ -179,7 +179,7 @@ amd64_windows_adjust_args_passed_by_pointer (struct value **args,
     if (amd64_windows_passed_by_pointer (args[i]->type ()))
       {
        struct type *type = args[i]->type ();
-       const gdb_byte *valbuf = value_contents (args[i]).data ();
+       const gdb_byte *valbuf = args[i]->contents ().data ();
        const int len = type->length ();
 
        /* Store a copy of that argument on the stack, aligned to
@@ -205,7 +205,7 @@ amd64_windows_store_arg_in_reg (struct regcache *regcache,
                                struct value *arg, int regno)
 {
   struct type *type = arg->type ();
-  const gdb_byte *valbuf = value_contents (arg).data ();
+  const gdb_byte *valbuf = arg->contents ().data ();
   gdb_byte buf[8];
 
   gdb_assert (type->length () <= 8);
@@ -295,7 +295,7 @@ amd64_windows_push_arguments (struct regcache *regcache, int nargs,
   for (i = 0; i < num_stack_args; i++)
     {
       struct type *type = stack_args[i]->type ();
-      const gdb_byte *valbuf = value_contents (stack_args[i]).data ();
+      const gdb_byte *valbuf = stack_args[i]->contents ().data ();
 
       write_memory (sp + element * 8, valbuf, type->length ());
       element += ((type->length () + 7) / 8);
index f42abc2ec42d12d3598e0130fe69f4f122ec8df5..bbdcb8d4ce6bdd1506d6909459f0a556270d2af4 100644 (file)
@@ -779,9 +779,9 @@ arc_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
          unsigned int len = args[i]->type ()->length ();
          unsigned int space = align_up (len, 4);
 
-         memcpy (data, value_contents (args[i]).data (), (size_t) len);
+         memcpy (data, args[i]->contents ().data (), (size_t) len);
          arc_debug_printf ("copying arg %d, val 0x%08x, len %d to mem",
-                           i, *((int *) value_contents (args[i]).data ()),
+                           i, *((int *) args[i]->contents ().data ()),
                            len);
 
          data += space;
index bf38880c24795182b6d7a1a3420ac5c5c35b95d6..03df41a64b3ec09e863ef44cfc12e26bcf7c5765 100644 (file)
@@ -4682,7 +4682,7 @@ arm_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       len = arg_type->length ();
       target_type = arg_type->target_type ();
       typecode = arg_type->code ();
-      val = value_contents (args[argnum]).data ();
+      val = args[argnum]->contents ().data ();
 
       align = type_align (arg_type);
       /* Round alignment up to a whole number of words.  */
index 023ebc37efb3e9159e1c9838f85a2682e54bd2e3..ba98fbf6f82b897f45b347f465f50d9dcdfe421e 100644 (file)
@@ -1299,7 +1299,7 @@ avr_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       int j;
       struct value *arg = args[i];
       struct type *type = check_typedef (arg->type ());
-      const bfd_byte *contents = value_contents (arg).data ();
+      const bfd_byte *contents = arg->contents ().data ();
       int len = type->length ();
 
       /* Calculate the potential last register needed.
index e1be4b77071cb7c0b0fb2e6c9008cadb691b1a47..4b9067a2d0f78f6e70bd43e152debb14b1e4c6a2 100644 (file)
@@ -530,7 +530,7 @@ bfin_push_dummy_call (struct gdbarch *gdbarch,
       int container_len = align_up (arg_type->length (), 4);
 
       sp -= container_len;
-      write_memory (sp, value_contents (args[i]).data (), container_len);
+      write_memory (sp, args[i]->contents ().data (), container_len);
     }
 
   /* Initialize R0, R1, and R2 to the first 3 words of parameters.  */
index de2bb56cadf6e98cd032225288f62cd7d77ac983..752b28778bcf9cd9d0f3d4bc6f1c3325f8f5e22a 100644 (file)
@@ -1869,7 +1869,7 @@ extract_bitfield_from_watchpoint_value (struct watchpoint *w, struct value *val)
   unpack_value_bitfield (bit_val,
                         w->val_bitpos,
                         w->val_bitsize,
-                        value_contents_for_printing (val).data (),
+                        val->contents_for_printing ().data (),
                         val->offset (),
                         val);
 
index ec2e06027d28d9862ca4b957aaf5c1f695010569..e4027d8ee9649363f95b4b5d80ab858fa4629a37 100644 (file)
@@ -301,7 +301,7 @@ c_get_string (struct value *value, gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
       && (*length < 0 || *length <= fetchlimit))
     {
       int i;
-      const gdb_byte *contents = value_contents (value).data ();
+      const gdb_byte *contents = value->contents ().data ();
 
       /* If a length is specified, use that.  */
       if (*length >= 0)
index 63f3e50d350164afd78195de8151429ae38f74df..55ba02996f39726b6145999dc3e54960330a4c70 100644 (file)
@@ -237,7 +237,7 @@ c_value_print_array (struct value *val,
 {
   struct type *type = check_typedef (val->type ());
   CORE_ADDR address = val->address ();
-  const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+  const gdb_byte *valaddr = val->contents_for_printing ().data ();
   struct type *unresolved_elttype = type->target_type ();
   struct type *elttype = check_typedef (unresolved_elttype);
 
@@ -334,7 +334,7 @@ c_value_print_ptr (struct value *val, struct ui_file *stream, int recurse,
     }
 
   struct type *type = check_typedef (val->type ());
-  const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+  const gdb_byte *valaddr = val->contents_for_printing ().data ();
 
   if (options->vtblprint && cp_is_vtbl_ptr_type (type))
     {
@@ -375,7 +375,7 @@ c_value_print_struct (struct value *val, struct ui_file *stream, int recurse,
         TYPE_CODE_PTR.)  */
       int offset = type->field (VTBL_FNADDR_OFFSET).loc_bitpos () / 8;
       struct type *field_type = type->field (VTBL_FNADDR_OFFSET).type ();
-      const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+      const gdb_byte *valaddr = val->contents_for_printing ().data ();
       CORE_ADDR addr = extract_typed_address (valaddr + offset, field_type);
 
       print_function_pointer_address (options, type->arch (), addr, stream);
@@ -406,7 +406,7 @@ c_value_print_int (struct value *val, struct ui_file *stream,
         intended to be used as an integer or a character, print
         the character equivalent as well.  */
       struct type *type = val->type ();
-      const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+      const gdb_byte *valaddr = val->contents_for_printing ().data ();
       if (c_textual_element_type (type, options->format))
        {
          gdb_puts (" ", stream);
index ce4bf6bc9cdd23ff463c4fef50f75d36915559fc..871785d88862d7eb9b59831fdc0026cf63d268b6 100644 (file)
@@ -2196,7 +2196,7 @@ setting_cmd (const char *fnname, struct cmd_list_element *showlist,
       && type0->code () != TYPE_CODE_STRING)
     error (_("First argument of %s must be a string."), fnname);
 
-  const char *a0 = (const char *) value_contents (argv[0]).data ();
+  const char *a0 = (const char *) argv[0]->contents ().data ();
   cmd_list_element *cmd = lookup_cmd (&a0, showlist, "", NULL, -1, 0);
 
   if (cmd == nullptr || cmd->type != show_cmd)
index 1e0051757f658acf80e91d579d328f3b1b7587e6..769f6a589b60b88bcfb6f113cdec7b4be5f5cab4 100644 (file)
@@ -224,7 +224,7 @@ dump_value_to_file (const char *cmd, const char *mode, const char *file_format)
 
   /* Have everything.  Open/write the data.  */
   if (file_format == NULL || strcmp (file_format, "binary") == 0)
-    dump_binary_file (filename.get (), mode, value_contents (val).data (),
+    dump_binary_file (filename.get (), mode, val->contents ().data (),
                      val->type ()->length ());
   else
     {
@@ -241,7 +241,7 @@ dump_value_to_file (const char *cmd, const char *mode, const char *file_format)
        }
 
       dump_bfd_file (filename.get (), mode, file_format, vaddr,
-                    value_contents (val).data (), 
+                    val->contents ().data (), 
                     val->type ()->length ());
     }
 }
index 83b97f13105cd1c478262220c76ac83c5df89bdc..af4f6e2c2efd8ac61eae9b61d9cb4c6808fe1593 100644 (file)
@@ -585,7 +585,7 @@ store_regs (struct type *regs_type, CORE_ADDR regs_base)
 
       inferior_addr = regs_base + reg_offset;
       if (0 != target_write_memory (inferior_addr,
-                                   value_contents (regval).data (),
+                                   regval->contents ().data (),
                                    reg_size))
        error (_("Cannot write register \"%s\" to inferior memory at %s."),
               reg_name, paddress (gdbarch, inferior_addr));
index 5f18d372aa30849cf08ef254abe3ab01483cad5d..687be9d4bd609a0c18c3067432d9670f92a65622 100644 (file)
@@ -189,7 +189,7 @@ cp_print_value_fields (struct value *val, struct ui_file *stream,
       vptr_fieldno = get_vptr_fieldno (type, &vptr_basetype);
       for (i = n_baseclasses; i < len; i++)
        {
-         const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+         const gdb_byte *valaddr = val->contents_for_printing ().data ();
 
          /* If requested, skip printing of static fields.  */
          if (!options->static_field_print
@@ -395,7 +395,7 @@ cp_print_value (struct value *val, struct ui_file *stream,
     = (struct type **) obstack_next_free (&dont_print_vb_obstack);
   struct obstack tmp_obstack = dont_print_vb_obstack;
   int i, n_baseclasses = TYPE_N_BASECLASSES (type);
-  const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+  const gdb_byte *valaddr = val->contents_for_printing ().data ();
 
   if (dont_print_vb == 0)
     {
index cc8d7634c9d0e8d89073e91a1def8622db331b22..af8fb95a5d232ff16f17fd887f0d3ab7396e913e 100644 (file)
@@ -822,7 +822,7 @@ cris_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       int i;
       
       len = args[argnum]->type ()->length ();
-      val = value_contents (args[argnum]).data ();
+      val = args[argnum]->contents ().data ();
       
       /* How may registers worth of storage do we need for this argument?  */
       reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0);
index 9fa1fb37154c3a0cf5e06bbf30ae712f1a5f3fb0..8fd68bab7a6bfbeb6546e3eb105db7d6edcf956f 100644 (file)
@@ -808,7 +808,7 @@ csky_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
       arg_type = check_typedef (args[argnum]->type ());
       len = arg_type->length ();
-      val = value_contents (args[argnum]).data ();
+      val = args[argnum]->contents ().data ();
 
       /* Copy the argument to argument registers or the dummy stack.
         Large arguments are split between registers and stack.
index 173623ea028ace25ef84b4fdc22dcc6c1075875d..b5e981874c1ebec1037ce06dd77cc8b859dd451a 100644 (file)
@@ -48,7 +48,7 @@ dynamic_array_type (struct type *type,
       struct type *ptr_type;
       struct value *ival;
       int length;
-      const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+      const gdb_byte *valaddr = val->contents_for_printing ().data ();
 
       length = unpack_field_as_long (type, valaddr + embedded_offset, 0);
 
index f2a1305713a979b8eb76ae9e3bc09f8c15fe52b0..a1119e16c233a5b42112c3fc1ae602ed0ec17dc3 100644 (file)
@@ -156,7 +156,7 @@ rw_pieced_value (value *v, value *from, bool check_optimized)
   gdb_assert (!check_optimized || from == nullptr);
   if (from != nullptr)
     {
-      from_contents = value_contents (from).data ();
+      from_contents = from->contents ().data ();
       v_contents = nullptr;
     }
   else
@@ -377,7 +377,7 @@ rw_pieced_value (value *v, value *from, bool check_optimized)
              bits_to_skip += p->offset;
 
            copy_bitwise (v_contents, offset,
-                         value_contents_all (p->v.value).data (),
+                         p->v.value->contents_all ().data (),
                          bits_to_skip,
                          this_size_bits, bits_big_endian);
          }
@@ -560,7 +560,7 @@ indirect_pieced_value (value *value)
      encode address spaces and other things in CORE_ADDR.  */
   bfd_endian byte_order = gdbarch_byte_order (get_frame_arch (frame));
   LONGEST byte_offset
-    = extract_signed_integer (value_contents (value), byte_order);
+    = extract_signed_integer (value->contents (), byte_order);
   byte_offset += piece->v.ptr.offset;
 
   return indirect_synthetic_pointer (piece->v.ptr.die_sect_off,
@@ -1025,7 +1025,7 @@ dwarf_expr_context::fetch_result (struct type *type, struct type *subobj_type,
            if (gdbarch_byte_order (arch) == BFD_ENDIAN_BIG)
              subobj_offset += n - max;
 
-           copy (value_contents_all (val).slice (subobj_offset, len),
+           copy (val->contents_all ().slice (subobj_offset, len),
                  retval->contents_raw ());
          }
          break;
@@ -1145,7 +1145,7 @@ dwarf_expr_context::fetch_address (int n)
   ULONGEST result;
 
   dwarf_require_integral (result_val->type ());
-  result = extract_unsigned_integer (value_contents (result_val), byte_order);
+  result = extract_unsigned_integer (result_val->contents (), byte_order);
 
   /* For most architectures, calling extract_unsigned_integer() alone
      is sufficient for extracting an address.  However, some
@@ -2351,7 +2351,7 @@ dwarf_expr_context::execute_stack_op (const gdb_byte *op_ptr,
            else
              result_val
                = value_from_contents (type,
-                                      value_contents_all (result_val).data ());
+                                      result_val->contents_all ().data ());
          }
          break;
 
index 74ce57ac70c165dc36569987ddd1ab5afc93761a..dca98d07fbed7583faa91c1483a46a119cbc6209 100644 (file)
@@ -2418,7 +2418,7 @@ array_operation::evaluate_struct_tuple (struct value *struct_val,
        modify_field (struct_type, addr,
                      value_as_long (val), bitpos % 8, bitsize);
       else
-       memcpy (addr, value_contents (val).data (),
+       memcpy (addr, val->contents ().data (),
                val->type ()->length ());
 
     }
@@ -2475,7 +2475,7 @@ array_operation::evaluate (struct type *expect_type,
            error (_("Too many array elements"));
          memcpy (array->contents_raw ().data ()
                  + (index - low_bound) * element_size,
-                 value_contents (element).data (),
+                 element->contents ().data (),
                  element_size);
          index++;
        }
index 10c46fa0c297829679fc7afbb8d383cebf6c425c..f883b08e2aeebde610d585ba69af1e04bc97ecad 100644 (file)
@@ -778,7 +778,7 @@ eval_op_f_abs (struct type *expect_type, struct expression *exp,
     case TYPE_CODE_FLT:
       {
        double d
-         = fabs (target_float_to_host_double (value_contents (arg1).data (),
+         = fabs (target_float_to_host_double (arg1->contents ().data (),
                                               arg1->type ()));
        return value_from_host_double (type, d);
       }
@@ -808,10 +808,10 @@ eval_op_f_mod (struct type *expect_type, struct expression *exp,
     case TYPE_CODE_FLT:
       {
        double d1
-         = target_float_to_host_double (value_contents (arg1).data (),
+         = target_float_to_host_double (arg1->contents ().data (),
                                         arg1->type ());
        double d2
-         = target_float_to_host_double (value_contents (arg2).data (),
+         = target_float_to_host_double (arg2->contents ().data (),
                                         arg2->type ());
        double d3 = fmod (d1, d2);
        return value_from_host_double (type, d3);
@@ -838,7 +838,7 @@ fortran_ceil_operation (value *arg1, type *result_type)
 {
   if (arg1->type ()->code () != TYPE_CODE_FLT)
     error (_("argument to CEILING must be of type float"));
-  double val = target_float_to_host_double (value_contents (arg1).data (),
+  double val = target_float_to_host_double (arg1->contents ().data (),
                                            arg1->type ());
   val = ceil (val);
   return value_from_longest (result_type, val);
@@ -877,7 +877,7 @@ fortran_floor_operation (value *arg1, type *result_type)
 {
   if (arg1->type ()->code () != TYPE_CODE_FLT)
     error (_("argument to FLOOR must be of type float"));
-  double val = target_float_to_host_double (value_contents (arg1).data (),
+  double val = target_float_to_host_double (arg1->contents ().data (),
                                            arg1->type ());
   val = floor (val);
   return value_from_longest (result_type, val);
@@ -933,10 +933,10 @@ eval_op_f_modulo (struct type *expect_type, struct expression *exp,
     case TYPE_CODE_FLT:
       {
        double a
-         = target_float_to_host_double (value_contents (arg1).data (),
+         = target_float_to_host_double (arg1->contents ().data (),
                                         arg1->type ());
        double p
-         = target_float_to_host_double (value_contents (arg2).data (),
+         = target_float_to_host_double (arg2->contents ().data (),
                                         arg2->type ());
        double result = fmod (a, p);
        if (result != 0 && (a < 0.0) != (p < 0.0))
@@ -1473,7 +1473,7 @@ fortran_undetermined::value_subarray (value *array,
                                   array->address () + total_offset);
          else
            array = value_from_contents_and_address
-             (array_slice_type, value_contents (array).data () + total_offset,
+             (array_slice_type, array->contents ().data () + total_offset,
               array->address () + total_offset);
        }
       else if (!array->lazy ())
@@ -1631,7 +1631,7 @@ fortran_structop_operation::evaluate (struct type *expect_type,
       struct type *elt_type = elt->type ();
       if (is_dynamic_type (elt_type))
        {
-         const gdb_byte *valaddr = value_contents_for_printing (elt).data ();
+         const gdb_byte *valaddr = elt->contents_for_printing ().data ();
          CORE_ADDR address = elt->address ();
          gdb::array_view<const gdb_byte> view
            = gdb::make_array_view (valaddr, elt_type->length ());
@@ -1878,9 +1878,9 @@ fortran_argument_convert (struct value *value, bool is_artificial)
          const int length = type->length ();
          const CORE_ADDR addr
            = value_as_long (value_allocate_space_in_inferior (length));
-         write_memory (addr, value_contents (value).data (), length);
+         write_memory (addr, value->contents ().data (), length);
          struct value *val = value_from_contents_and_address
-           (type, value_contents (value).data (), addr);
+           (type, value->contents ().data (), addr);
          return value_addr (val);
        }
       else
index 4fbda5dc78e4e22dc8052f896300aa4e97976342..824a303fdc4a0be6c210f46f6c5e8790b2499363 100644 (file)
@@ -456,7 +456,7 @@ f_language::value_print_inner (struct value *val, struct ui_file *stream,
   struct type *elttype;
   CORE_ADDR addr;
   int index;
-  const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+  const gdb_byte *valaddr = val->contents_for_printing ().data ();
   const CORE_ADDR address = val->address ();
 
   switch (type->code ())
index 42604b1e85ee00f966a768362f43f693365efeb4..16a5fdd525bc705d9fa3268befd21bb60e8d73af 100644 (file)
@@ -185,7 +185,7 @@ parse_find_args (const char *args, ULONGEST *max_countp,
        }
       else
        {
-         const gdb_byte *contents = value_contents (v).data ();
+         const gdb_byte *contents = v->contents ().data ();
          pattern_buf.insert (pattern_buf.end (), contents,
                              contents + t->length ());
        }
index 834adc318acfea7b802a34d6acbd98d3af63f03f..628b18d6708c4120f533aee2dc8bd87c43980933 100644 (file)
@@ -1201,7 +1201,7 @@ frame_register_unwind (frame_info_ptr next_frame, int regnum,
   if (bufferp)
     {
       if (!*optimizedp && !*unavailablep)
-       memcpy (bufferp, value_contents_all (value).data (),
+       memcpy (bufferp, value->contents_all ().data (),
                value->type ()->length ());
       else
        memset (bufferp, 0, value->type ()->length ());
@@ -1311,7 +1311,7 @@ frame_unwind_register_value (frame_info_ptr next_frame, int regnum)
          else
            {
              int i;
-             gdb::array_view<const gdb_byte> buf = value_contents (value);
+             gdb::array_view<const gdb_byte> buf = value->contents ();
 
              gdb_printf (&debug_file, " bytes=");
              gdb_printf (&debug_file, "[");
@@ -1353,7 +1353,7 @@ frame_unwind_register_signed (frame_info_ptr next_frame, int regnum)
                   _("Register %d is not available"), regnum);
     }
 
-  LONGEST r = extract_signed_integer (value_contents_all (value), byte_order);
+  LONGEST r = extract_signed_integer (value->contents_all (), byte_order);
 
   release_value (value);
   return r;
@@ -1386,7 +1386,7 @@ frame_unwind_register_unsigned (frame_info_ptr next_frame, int regnum)
                   _("Register %d is not available"), regnum);
     }
 
-  ULONGEST r = extract_unsigned_integer (value_contents_all (value).data (),
+  ULONGEST r = extract_unsigned_integer (value->contents_all ().data (),
                                         size, byte_order);
 
   release_value (value);
@@ -1412,7 +1412,7 @@ read_frame_register_unsigned (frame_info_ptr frame, int regnum,
       enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
       int size = register_size (gdbarch, VALUE_REGNUM (regval));
 
-      *val = extract_unsigned_integer (value_contents (regval).data (), size,
+      *val = extract_unsigned_integer (regval->contents ().data (), size,
                                       byte_order);
       return true;
     }
@@ -1546,7 +1546,7 @@ get_frame_register_bytes (frame_info_ptr frame, int regnum,
              return false;
            }
 
-         memcpy (myaddr, value_contents_all (value).data () + offset,
+         memcpy (myaddr, value->contents_all ().data () + offset,
                  curr_len);
          release_value (value);
        }
index e9c9a9cd392c1640540dd9bcacd07e05c13b5a03..6c6050a919ad03975ed523db3173071d1bc32276 100644 (file)
@@ -1251,7 +1251,7 @@ frv_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
          /* The FDPIC ABI requires function descriptors to be passed instead
             of entry points.  */
          CORE_ADDR addr = extract_unsigned_integer
-                            (value_contents (arg).data (), 4, byte_order);
+           (arg->contents ().data (), 4, byte_order);
          addr = find_func_descr (gdbarch, addr);
          store_unsigned_integer (valbuf, 4, byte_order, addr);
          typecode = TYPE_CODE_PTR;
@@ -1260,7 +1260,7 @@ frv_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
        }
       else
        {
-         val = value_contents (arg).data ();
+         val = arg->contents ().data ();
        }
 
       while (len > 0)
index ff8de6b2b496ef2d1c6637f2b86ce15e4ce14120..73ccd1cf3f871a6a93e59928f328e4e01524e82b 100644 (file)
@@ -4007,7 +4007,7 @@ is_unique_ancestor (struct type *base, struct value *val)
   int offset = -1;
 
   return is_unique_ancestor_worker (base, val->type (), &offset,
-                                   value_contents_for_printing (val).data (),
+                                   val->contents_for_printing ().data (),
                                    val->embedded_offset (),
                                    val->address (), val) == 1;
 }
index 2fa40085f493b59baa69000867f5bbdb62fbcb7e..6d1a36623f8df70762aa53495157806652e082c2 100644 (file)
@@ -734,7 +734,7 @@ static struct value *
 gnuv3_method_ptr_to_value (struct value **this_p, struct value *method_ptr)
 {
   struct gdbarch *gdbarch;
-  const gdb_byte *contents = value_contents (method_ptr).data ();
+  const gdb_byte *contents = method_ptr->contents ().data ();
   CORE_ADDR ptr_value;
   struct type *self_type, *final_type, *method_type;
   LONGEST adjustment;
index 8f6c8849fd957091f5bc2e0369375c4fe601caff..05788af15a6f004225a0106a94ffd4f0a9b74eaf 100644 (file)
@@ -52,7 +52,7 @@ print_go_string (struct type *type,
      unpack_value_field_as_pointer.  Do this until we can get
      unpack_value_field_as_pointer.  */
   LONGEST addr;
-  const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+  const gdb_byte *valaddr = val->contents_for_printing ().data ();
 
 
   if (! unpack_value_field_as_long (type, valaddr, embedded_offset, 0,
index 09b1ce3002456903f6e732bfc25a26fd1753f975..df76f8a49d161c00eb2f1b4062ad18fbcad7e5f7 100644 (file)
@@ -828,7 +828,7 @@ gdbscm_value_to_bytevector (SCM self)
     {
       type = check_typedef (type);
       length = type->length ();
-      contents = value_contents (value).data ();
+      contents = value->contents ().data ();
     }
   catch (const gdb_exception &except)
     {
@@ -978,7 +978,7 @@ gdbscm_value_to_real (SCM self)
     {
       if (is_floating_value (value))
        {
-         d = target_float_to_host_double (value_contents (value).data (),
+         d = target_float_to_host_double (value->contents ().data (),
                                           type);
          check = value_from_host_double (type, d);
        }
index d53b6857ba539797eb2dc9dce1efc82c8ec992ff..d1494916f59430ae05803487ef05f2745169869c 100644 (file)
@@ -647,7 +647,7 @@ h8300_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
     {
       struct type *type = args[argument]->type ();
       int len = type->length ();
-      char *contents = (char *) value_contents (args[argument]).data ();
+      char *contents = (char *) args[argument]->contents ().data ();
 
       /* Pad the argument appropriately.  */
       int padded_len = align_up (len, wordsize);
index 08fea0c091b72b0e9a3e8fd9c1f68924c76acfe0..d054e8011e8c295564e2b92e00967164874f427f 100644 (file)
@@ -745,7 +745,7 @@ hppa32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
              struct_ptr += align_up (type->length (), 8);
              if (write_pass)
                write_memory (struct_end - struct_ptr,
-                             value_contents (arg).data (), type->length ());
+                             arg->contents ().data (), type->length ());
              store_unsigned_integer (param_val, 4, byte_order,
                                      struct_end - struct_ptr);
            }
@@ -757,13 +757,13 @@ hppa32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
              param_len = align_up (type->length (), 4);
              store_unsigned_integer
                (param_val, param_len, byte_order,
-                unpack_long (type, value_contents (arg).data ()));
+                unpack_long (type, arg->contents ().data ()));
            }
          else if (type->code () == TYPE_CODE_FLT)
            {
              /* Floating point value store, right aligned.  */
              param_len = align_up (type->length (), 4);
-             memcpy (param_val, value_contents (arg).data (), param_len);
+             memcpy (param_val, arg->contents ().data (), param_len);
            }
          else
            {
@@ -771,7 +771,7 @@ hppa32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
              /* Small struct value are stored right-aligned.  */
              memcpy (param_val + param_len - type->length (),
-                     value_contents (arg).data (), type->length ());
+                     arg->contents ().data (), type->length ());
 
              /* Structures of size 5, 6 and 7 bytes are special in that
                 the higher-ordered word is stored in the lower-ordered
@@ -1027,7 +1027,7 @@ hppa64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                     the right halves of the floating point registers;
                     the left halves are unused."  */
                  regcache->cooked_write_part (regnum, offset % 8, len,
-                                              value_contents (arg).data ());
+                                              arg->contents ().data ());
                }
            }
        }
@@ -1051,7 +1051,7 @@ hppa64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
        {
          ULONGEST codeptr, fptr;
 
-         codeptr = unpack_long (type, value_contents (arg).data ());
+         codeptr = unpack_long (type, arg->contents ().data ());
          fptr = hppa64_convert_code_addr_to_fptr (gdbarch, codeptr);
          store_unsigned_integer (fptrbuf, type->length (), byte_order,
                                  fptr);
@@ -1059,7 +1059,7 @@ hppa64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
        }
       else
        {
-         valbuf = value_contents (arg).data ();
+         valbuf = arg->contents ().data ();
        }
 
       /* Always store the argument in memory.  */
@@ -2722,7 +2722,7 @@ hppa_frame_prev_register_helper (frame_info_ptr this_frame,
        trad_frame_get_prev_register (this_frame, saved_regs,
                                      HPPA_PCOQ_HEAD_REGNUM);
 
-      pc = extract_unsigned_integer (value_contents_all (pcoq_val).data (),
+      pc = extract_unsigned_integer (pcoq_val->contents_all ().data (),
                                     size, byte_order);
       return frame_unwind_got_constant (this_frame, regnum, pc + 4);
     }
index abf68ef7c394e859e2f74bd09648e50340aa36ab..34de8e72918d3f356eff9e6aab54b2ca5484ba8a 100644 (file)
@@ -189,7 +189,7 @@ i386_darwin_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
            {
              if (write_pass)
                {
-                 const gdb_byte *val = value_contents_all (args[i]).data ();
+                 const gdb_byte *val = args[i]->contents_all ().data ();
                  regcache->raw_write (I387_MM0_REGNUM(tdep) + num_m128, val);
                }
              num_m128++;
@@ -200,7 +200,7 @@ i386_darwin_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                                     i386_darwin_arg_type_alignment (arg_type));
              if (write_pass)
                write_memory (sp + args_space,
-                             value_contents_all (args[i]).data (),
+                             args[i]->contents_all ().data (),
                              arg_type->length ());
 
              /* The System V ABI says that:
index 94ec1cc3fee31399938abc14a4cfda713ff636eb..ed61ee1a9b3f4a707140ec7a2b0362023722d84e 100644 (file)
@@ -2733,7 +2733,7 @@ i386_thiscall_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                args_space_used = align_up (args_space_used, 16);
 
              write_memory (sp + args_space_used,
-                           value_contents_all (args[i]).data (), len);
+                           args[i]->contents_all ().data (), len);
              /* The System V ABI says that:
 
              "An argument's size is increased, if necessary, to make it a
@@ -2778,7 +2778,7 @@ i386_thiscall_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
   /* The 'this' pointer needs to be in ECX.  */
   if (thiscall)
     regcache->cooked_write (I386_ECX_REGNUM,
-                           value_contents_all (args[0]).data ());
+                           args[0]->contents_all ().data ());
 
   /* If the PLT is position-independent, the SYSTEM V ABI requires %ebx to be
      set to the address of the GOT when doing a call to a PLT address.
index 04bbf71952bb0c78bf8d2559bc6b6dc7bc5e859d..e1cbab580eb40e8e0972e3f070c35ecdf9c74b4b 100644 (file)
@@ -284,7 +284,7 @@ i387_print_float_info (struct gdbarch *gdbarch, struct ui_file *file,
 
          if (value_entirely_available (regval))
            {
-             const gdb_byte *raw = value_contents (regval).data ();
+             const gdb_byte *raw = regval->contents ().data ();
 
              gdb_puts ("0x", file);
              for (i = 9; i >= 0; i--)
index 7f09ce4b8359ccb5ab25ccf792aa03ef954c45ce..f714c98d8d401d8cd8d6e2e839503eb64aa8e610 100644 (file)
@@ -1934,7 +1934,7 @@ ia64_frame_prev_register (frame_info_ptr this_frame, void **this_cache,
         that frame by adding the size of output:
            (sof (size of frame) - sol (size of locals)).  */
       val = ia64_frame_prev_register (this_frame, this_cache, IA64_CFM_REGNUM);
-      prev_cfm = extract_unsigned_integer (value_contents_all (val).data (),
+      prev_cfm = extract_unsigned_integer (val->contents_all ().data (),
                                           8, byte_order);
       bsp = rse_address_add (cache->bsp, -(cache->sof));
       prev_bsp =
@@ -1984,7 +1984,7 @@ ia64_frame_prev_register (frame_info_ptr this_frame, void **this_cache,
          /* Adjust the register number to account for register rotation.  */
          regnum = VP16_REGNUM + ((regnum - VP16_REGNUM) + rrb_pr) % 48;
        }
-      prN = extract_bit_field (value_contents_all (pr_val).data (),
+      prN = extract_bit_field (pr_val->contents_all ().data (),
                               regnum - VP0_REGNUM, 1);
       return frame_unwind_got_constant (this_frame, regnum, prN);
     }
@@ -1995,7 +1995,7 @@ ia64_frame_prev_register (frame_info_ptr this_frame, void **this_cache,
       ULONGEST unatN;
       unat_val = ia64_frame_prev_register (this_frame, this_cache,
                                           IA64_UNAT_REGNUM);
-      unatN = extract_bit_field (value_contents_all (unat_val).data (),
+      unatN = extract_bit_field (unat_val->contents_all ().data (),
                                 regnum - IA64_NAT0_REGNUM, 1);
       return frame_unwind_got_constant (this_frame, regnum, unatN);
     }
@@ -2118,11 +2118,11 @@ ia64_frame_prev_register (frame_info_ptr this_frame, void **this_cache,
          reg_val = ia64_frame_prev_register (this_frame, this_cache,
                                              IA64_CFM_REGNUM);
          prev_cfm = extract_unsigned_integer
-           (value_contents_all (reg_val).data (), 8, byte_order);
+           (reg_val->contents_all ().data (), 8, byte_order);
          reg_val = ia64_frame_prev_register (this_frame, this_cache,
                                              IA64_BSP_REGNUM);
          prev_bsp = extract_unsigned_integer
-           (value_contents_all (reg_val).data (), 8, byte_order);
+           (reg_val->contents_all ().data (), 8, byte_order);
          prev_bof = rse_address_add (prev_bsp, -(prev_cfm & 0x7f));
 
          addr = rse_address_add (prev_bof, (regnum - IA64_GR32_REGNUM));
@@ -2957,7 +2957,7 @@ ia64_libunwind_frame_prev_register (frame_info_ptr this_frame,
          /* Adjust the register number to account for register rotation.  */
          regnum = VP16_REGNUM + ((regnum - VP16_REGNUM) + rrb_pr) % 48;
        }
-      prN_val = extract_bit_field (value_contents_all (val).data (),
+      prN_val = extract_bit_field (val->contents_all ().data (),
                                   regnum - VP0_REGNUM, 1);
       return frame_unwind_got_constant (this_frame, regnum, prN_val);
     }
@@ -2966,7 +2966,7 @@ ia64_libunwind_frame_prev_register (frame_info_ptr this_frame,
     {
       ULONGEST unatN_val;
 
-      unatN_val = extract_bit_field (value_contents_all (val).data (),
+      unatN_val = extract_bit_field (val->contents_all ().data (),
                                     regnum - IA64_NAT0_REGNUM, 1);
       return frame_unwind_got_constant (this_frame, regnum, unatN_val);
     }
@@ -2981,11 +2981,11 @@ ia64_libunwind_frame_prev_register (frame_info_ptr this_frame,
         register will be if we pop the frame back which is why we might
         have been called.  We know that libunwind will pass us back the
         beginning of the current frame so we should just add sof to it.  */
-      prev_bsp = extract_unsigned_integer (value_contents_all (val).data (),
+      prev_bsp = extract_unsigned_integer (val->contents_all ().data (),
                                           8, byte_order);
       cfm_val = libunwind_frame_prev_register (this_frame, this_cache,
                                               IA64_CFM_REGNUM);
-      prev_cfm = extract_unsigned_integer (value_contents_all (cfm_val).data (),
+      prev_cfm = extract_unsigned_integer (cfm_val->contents_all ().data (),
                                           8, byte_order);
       prev_bsp = rse_address_add (prev_bsp, (prev_cfm & 0x7f));
 
@@ -3068,7 +3068,7 @@ ia64_libunwind_sigtramp_frame_prev_register (frame_info_ptr this_frame,
      method of getting previous registers.  */
   prev_ip_val = libunwind_frame_prev_register (this_frame, this_cache,
                                               IA64_IP_REGNUM);
-  prev_ip = extract_unsigned_integer (value_contents_all (prev_ip_val).data (),
+  prev_ip = extract_unsigned_integer (prev_ip_val->contents_all ().data (),
                                      8, byte_order);
 
   if (prev_ip == 0)
@@ -3750,7 +3750,7 @@ ia64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
        {
          gdb_byte val_buf[8];
          ULONGEST faddr = extract_unsigned_integer
-           (value_contents (arg).data (), 8, byte_order);
+           (arg->contents ().data (), 8, byte_order);
          store_unsigned_integer (val_buf, 8, byte_order,
                                  find_func_descr (regcache, faddr,
                                                   &funcdescaddr));
@@ -3782,7 +3782,7 @@ ia64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                 This is why we use store_unsigned_integer.  */
              store_unsigned_integer
                (val_buf, 8, byte_order,
-                extract_unsigned_integer (value_contents (arg).data (), len,
+                extract_unsigned_integer (arg->contents ().data (), len,
                                           byte_order));
            }
          else
@@ -3796,7 +3796,7 @@ ia64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                 In this case, the data is Byte0-aligned.  Happy news,
                 this means that we don't need to differentiate the
                 handling of 8byte blocks and less-than-8bytes blocks.  */
-             memcpy (val_buf, value_contents (arg).data () + argoffset,
+             memcpy (val_buf, arg->contents ().data () + argoffset,
                      (len > 8) ? 8 : len);
            }
 
@@ -3820,7 +3820,7 @@ ia64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
          while (len > 0 && floatreg < IA64_FR16_REGNUM)
            {
              gdb_byte to[IA64_FP_REGISTER_SIZE];
-             target_float_convert (value_contents (arg).data () + argoffset,
+             target_float_convert (arg->contents ().data () + argoffset,
                                    float_elt_type, to,
                                    ia64_ext_type (gdbarch));
              regcache->cooked_write (floatreg, to);
index 05ae1638857146d63af6c8fa1447a22c82763c0a..d6992228498e745b6880dfe341b6cdd755dab60b 100644 (file)
@@ -1130,7 +1130,7 @@ call_function_by_hand_dummy (struct value *function,
       if (info.trivially_copy_constructible)
        {
          int length = param_type->length ();
-         write_memory (addr, value_contents (args[i]).data (), length);
+         write_memory (addr, args[i]->contents ().data (), length);
        }
       else
        {
index 32d30c2a3e8fd314fdc04f882be1a085a770cd9f..50378b111c0b03e37563e69ebfb517cd9468f7de 100644 (file)
@@ -2181,7 +2181,7 @@ default_print_one_register_info (struct ui_file *file,
       || regtype->code () == TYPE_CODE_DECFLOAT)
     {
       struct value_print_options opts;
-      const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+      const gdb_byte *valaddr = val->contents_for_printing ().data ();
       enum bfd_endian byte_order = type_byte_order (regtype);
 
       get_user_print_options (&opts);
index f2af69e46cd19cdc72cacfb9b2624394e115e465..d4509f93b74729410f15ac2f53acc543c84c8398 100644 (file)
@@ -711,7 +711,7 @@ iq2000_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
     {
       type = args[i]->type ();
       typelen = type->length ();
-      val = value_contents (args[i]).data ();
+      val = args[i]->contents ().data ();
       if (typelen <= 4)
        {
          /* Char, short, int, float, pointer, and structs <= four bytes.  */
index 93e2ad940b5f632507f5eb51782983084b60dbfe..23998f85dd82f11837acf9cb91d1c0df4243bc3f 100644 (file)
@@ -260,7 +260,7 @@ lm32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
       /* FIXME: Handle structures.  */
 
-      contents = (gdb_byte *) value_contents (arg).data ();
+      contents = (gdb_byte *) arg->contents ().data ();
       val = extract_unsigned_integer (contents, arg_type->length (),
                                      byte_order);
 
index f40a7b4912e56789cb2e7cb3baca5987fde3f2e1..5f7a8a00ce7d5e12136b8fe40c350b2d28323f0c 100644 (file)
@@ -565,7 +565,7 @@ loongarch_push_dummy_call (struct gdbarch *gdbarch,
   for (int i = 0; i < nargs; i++)
     {
       struct value *arg = args[i];
-      const gdb_byte *val = value_contents (arg).data ();
+      const gdb_byte *val = arg->contents ().data ();
       struct type *type = check_typedef (arg->type ());
       size_t len = type->length ();
       int align = type_align (type);
index 73f9e37aee3dff5b1cda0693d91b7ebb16227ec9..96a566fb810dc72c975d1cfb34e4b5fcaabf6261 100644 (file)
@@ -165,7 +165,7 @@ m2_print_unbounded_array (struct value *value,
   struct value *val;
 
   struct type *type = check_typedef (value->type ());
-  const gdb_byte *valaddr = value_contents_for_printing (value).data ();
+  const gdb_byte *valaddr = value->contents_for_printing ().data ();
 
   addr = unpack_pointer (type->field (0).type (),
                         (type->field (0).loc_bitpos () / 8) +
@@ -305,7 +305,7 @@ m2_language::value_print_inner (struct value *val, struct ui_file *stream,
   unsigned len;
   struct type *elttype;
   CORE_ADDR addr;
-  const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+  const gdb_byte *valaddr = val->contents_for_printing ().data ();
   const CORE_ADDR address = val->address ();
 
   struct type *type = check_typedef (val->type ());
index 23add82ae90ddeeadbc96af0d5d2e9720a3daaae..2899c9aef900b969af9b9f906eb122c0b2e09147 100644 (file)
@@ -2061,7 +2061,7 @@ m32c_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
   for (i = nargs - 1; i >= 0; i--)
     {
       struct value *arg = args[i];
-      const gdb_byte *arg_bits = value_contents (arg).data ();
+      const gdb_byte *arg_bits = arg->contents ().data ();
       struct type *arg_type = arg->type ();
       ULONGEST arg_size = arg_type->length ();
 
index a1d2ad6da806915729112efb1da29829b57b583c..ba525998e0c939daca9020c30e1ab9f9d8f80250 100644 (file)
@@ -707,11 +707,11 @@ m32r_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
        {
          /* Value gets right-justified in the register or stack word.  */
          memcpy (valbuf + (register_size (gdbarch, argreg) - len),
-                 (gdb_byte *) value_contents (args[argnum]).data (), len);
+                 (gdb_byte *) args[argnum]->contents ().data (), len);
          val = valbuf;
        }
       else
-       val = (gdb_byte *) value_contents (args[argnum]).data ();
+       val = (gdb_byte *) args[argnum]->contents ().data ();
 
       while (len > 0)
        {
index 86af4521eddcf2b2d8853de4c4010920fe1982a2..1257c55ce667871b1f3b53c373d1f615fcb7964d 100644 (file)
@@ -1177,7 +1177,7 @@ m68hc11_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
        {
          ULONGEST v;
 
-         v = extract_unsigned_integer (value_contents (args[0]).data (),
+         v = extract_unsigned_integer (args[0]->contents ().data (),
                                        type->length (), byte_order);
          first_stack_argnum = 1;
 
@@ -1201,7 +1201,7 @@ m68hc11_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
          sp--;
          write_memory (sp, &zero, 1);
        }
-      val = value_contents (args[argnum]).data ();
+      val = args[argnum]->contents ().data ();
       sp -= type->length ();
       write_memory (sp, val, type->length ());
     }
index e776060935c3877c64df310897ef74cc502c68b4..cbd79765ab9ffd7248aa83981e35c247b24fad6d 100644 (file)
@@ -559,7 +559,7 @@ m68k_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       else
        offset = container_len - len;
       sp -= container_len;
-      write_memory (sp + offset, value_contents_all (args[i]).data (), len);
+      write_memory (sp + offset, args[i]->contents_all ().data (), len);
     }
 
   /* Store struct value address.  */
index c70699d1c3d95a56595def83cc9db446e77c1d91..fc786f09e44e5183843ccf6365f80df7fb825660 100644 (file)
@@ -2235,7 +2235,7 @@ push_large_arguments (CORE_ADDR sp, int argc, struct value **argv,
          /* Reserve space for the copy, and then round the SP down, to
             make sure it's all aligned properly.  */
          sp = (sp - arg_len) & -4;
-         write_memory (sp, value_contents (argv[i]).data (), arg_len);
+         write_memory (sp, argv[i]->contents ().data (), arg_len);
          copy[i] = sp;
        }
     }
@@ -2289,7 +2289,7 @@ mep_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
       /* Arguments that fit in a GPR get expanded to fill the GPR.  */
       if (argv[i]->type ()->length () <= MEP_GPR_SIZE)
-       value = extract_unsigned_integer (value_contents (argv[i]).data (),
+       value = extract_unsigned_integer (argv[i]->contents ().data (),
                                          argv[i]->type ()->length (),
                                          byte_order);
 
index 349a89eb23d76ee5385b44cbb6859eb24cb8b6f6..19e0fdcf81e1ddcbd2985ed533f69f29c57de6dc 100644 (file)
@@ -4612,7 +4612,7 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
            gdb_printf (gdb_stdlog, " push");
        }
       else
-       val = value_contents (arg).data ();
+       val = arg->contents ().data ();
 
       /* 32-bit ABIs always start floating point arguments in an
         even-numbered floating point register.  Round the FP register
@@ -4988,7 +4988,7 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                    "mips_n32n64_push_dummy_call: %d len=%d type=%d",
                    argnum + 1, len, (int) typecode);
 
-      val = value_contents (arg).data ();
+      val = arg->contents ().data ();
 
       /* A 128-bit long double value requires an even-odd pair of
         floating-point registers.  */
@@ -5468,7 +5468,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                    "mips_o32_push_dummy_call: %d len=%d type=%d",
                    argnum + 1, len, (int) typecode);
 
-      val = value_contents (arg).data ();
+      val = arg->contents ().data ();
 
       /* 32-bit ABIs always start floating point arguments in an
         even-numbered floating point register.  Round the FP register
@@ -5989,7 +5989,7 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                    "mips_o64_push_dummy_call: %d len=%d type=%d",
                    argnum + 1, len, (int) typecode);
 
-      val = value_contents (arg).data ();
+      val = arg->contents ().data ();
 
       /* Floating point arguments passed in registers have to be
         treated specially.  On 32-bit architectures, doubles are
@@ -6595,7 +6595,7 @@ print_gp_register_row (struct ui_file *file, frame_info_ptr frame,
          col++;
          continue;
        }
-      raw_buffer = value_contents_all (value).data ();
+      raw_buffer = value->contents_all ().data ();
       /* pad small registers */
       for (byte = 0;
           byte < (mips_abi_regsize (gdbarch)
index aade7c3af07464d911031290a0752fd48c9d9ae1..f52b6990a6074d59c8600eb18aa6a1ebb70c0697 100644 (file)
@@ -1218,7 +1218,7 @@ mn10300_push_dummy_call (struct gdbarch *gdbarch,
       else
        {
          arg_len = (*args)->type ()->length ();
-         val = value_contents (*args).data ();
+         val = (*args)->contents ().data ();
        }
 
       while (regs_used < 2 && arg_len > 0)
index d4a40d4cd106f95b0e7bd844265c59c8a7822feb..2768e4e3a21d94d2a41dac350087801d25839845 100644 (file)
@@ -689,7 +689,7 @@ msp430_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       for (i = 0; i < nargs; i++)
        {
          struct value *arg = args[i];
-         const gdb_byte *arg_bits = value_contents_all (arg).data ();
+         const gdb_byte *arg_bits = arg->contents_all ().data ();
          struct type *arg_type = check_typedef (arg->type ());
          ULONGEST arg_size = arg_type->length ();
          int offset;
index 858b72c2509942bd73f5d966453b983afb632791..c65bc1a47c57dcc71db7eacf9b39e727a7a53bab 100644 (file)
@@ -1470,7 +1470,7 @@ nds32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       calling_use_fpr = nds32_check_calling_use_fpr (type);
       len = type->length ();
       align = type_align (type);
-      val = value_contents (args[i]).data ();
+      val = args[i]->contents ().data ();
 
       /* The size of a composite type larger than 4 bytes will be rounded
         up to the nearest multiple of 4.  */
index e7ec455282727b430778e59534d9bee2cd6e92dc..40d65b64b18b2d29f14dba31bb5bc11b80c1ddd8 100644 (file)
@@ -1839,7 +1839,7 @@ nios2_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       struct type *arg_type = check_typedef (arg->type ());
       int len = arg_type->length ();
 
-      val = value_contents (arg).data ();
+      val = arg->contents ().data ();
 
       /* Copy the argument to general registers or the stack in
         register-sized pieces.  Large arguments are split between
index 81889b97e95ad5e6890db2ac41521432e30d2d7d..b3e82f4a6ae75c4aa6fad726dcd447abf77bdd89 100644 (file)
@@ -140,7 +140,7 @@ lval_func_read (struct value *v)
 
   for (i = offset; i < n; i++)
     memcpy (v->contents_raw ().data () + j++ * elsize,
-           value_contents (c->val).data () + c->indices[i] * elsize,
+           c->val->contents ().data () + c->indices[i] * elsize,
            elsize);
 }
 
@@ -181,7 +181,7 @@ lval_func_write (struct value *v, struct value *fromval)
       struct value *to_elm_val = value_subscript (c->val, c->indices[i]);
 
       memcpy (from_elm_val->contents_writeable ().data (),
-             value_contents (fromval).data () + j++ * elsize,
+             fromval->contents ().data () + j++ * elsize,
              elsize);
       value_assign (to_elm_val, from_elm_val);
     }
@@ -315,7 +315,7 @@ create_value (struct gdbarch *gdbarch, struct value *val, enum noside noside,
              for (i = 0; i < n; i++)
                memcpy (ret->contents_writeable ().data ()
                        + (i * elm_type->length ()),
-                       value_contents (val).data ()
+                       val->contents ().data ()
                        + (indices[i] * elm_type->length ()),
                        elm_type->length ());
            }
@@ -837,7 +837,7 @@ Cannot perform conditional operation on vectors with different sizes"));
          tmp = value_logical_not (value_subscript (arg1, i)) ?
            value_subscript (arg3, i) : value_subscript (arg2, i);
          memcpy (ret->contents_writeable ().data () +
-                 i * eltype2->length (), value_contents_all (tmp).data (),
+                 i * eltype2->length (), tmp->contents_all ().data (),
                  eltype2->length ());
        }
 
index d485d55210265e5650721d05ff161f747a091231..0d520661f09ecae783ecba256d6b302d02c51714 100644 (file)
@@ -685,7 +685,7 @@ or1k_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
              heap_offset += align_up (len, bpw);
              valaddr = heap_sp + heap_offset;
 
-             write_memory (valaddr, value_contents (arg).data (), len);
+             write_memory (valaddr, arg->contents ().data (), len);
            }
 
          /* The ABI passes all structures by reference, so get its
@@ -697,7 +697,7 @@ or1k_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       else
        {
          /* Everything else, we just get the value.  */
-         val = value_contents (arg).data ();
+         val = arg->contents ().data ();
        }
 
       /* Stick the value in a register.  */
@@ -797,7 +797,7 @@ or1k_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
          val = valbuf;
        }
       else
-       val = value_contents (arg).data ();
+       val = arg->contents ().data ();
 
       while (len > 0)
        {
index 4b84ec1c43f4a670ae084222eb42ffc26403e1a0..10d4152385129149e865bbce965da7e6bdd2808a 100644 (file)
@@ -80,7 +80,7 @@ pascal_language::value_print_inner (struct value *val,
   struct type *char_type;
   CORE_ADDR addr;
   int want_space = 0;
-  const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+  const gdb_byte *valaddr = val->contents_for_printing ().data ();
 
   switch (type->code ())
     {
@@ -539,7 +539,7 @@ pascal_object_print_value_fields (struct value *val, struct ui_file *stream,
     {
       struct obstack tmp_obstack = dont_print_statmem_obstack;
       int fields_seen = 0;
-      const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+      const gdb_byte *valaddr = val->contents_for_printing ().data ();
 
       if (dont_print_statmem == 0)
        {
index 69cc784c5584fffb3c04716d6c6af1bd4b1e28af..3d270a4f7ac077d313a11c456421c31204667b01 100644 (file)
@@ -124,7 +124,7 @@ ppc_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
          struct value *arg = args[argno];
          struct type *type = check_typedef (arg->type ());
          int len = type->length ();
-         const bfd_byte *val = value_contents (arg).data ();
+         const bfd_byte *val = arg->contents ().data ();
 
          if (type->code () == TYPE_CODE_FLT && len <= 8
              && !tdep->soft_float)
@@ -1692,7 +1692,7 @@ ppc64_sysv_abi_push_dummy_call (struct gdbarch *gdbarch,
        {
          struct value *arg = args[argno];
          struct type *type = check_typedef (arg->type ());
-         const bfd_byte *val = value_contents (arg).data ();
+         const bfd_byte *val = arg->contents ().data ();
 
          if (type->code () == TYPE_CODE_COMPLEX)
            {
index ba7d2978ebe95786df7f4f876c02f351dad2795a..8619e38aea42a2d1caf50c565a8e157da8c3b8df 100644 (file)
@@ -2457,7 +2457,7 @@ printf_c_string (struct ui_file *stream, const char *format,
         null terminated) to be printed without problems.  */
       gdb_byte *tem_str = (gdb_byte *) alloca (len + 1);
 
-      memcpy (tem_str, value_contents (value).data (), len);
+      memcpy (tem_str, value->contents ().data (), len);
       tem_str [len] = 0;
       str = tem_str;
     }
@@ -2521,7 +2521,7 @@ printf_wide_c_string (struct ui_file *stream, const char *format,
   if (VALUE_LVAL (value) == lval_internalvar
       && c_is_string_type_p (value->type ()))
     {
-      str = value_contents (value).data ();
+      str = value->contents ().data ();
       len = value->type ()->length ();
     }
   else
@@ -2631,14 +2631,14 @@ printf_floating (struct ui_file *stream, const char *format,
       param_type = float_type_from_length (param_type);
       if (param_type != value->type ())
        value = value_from_contents (param_type,
-                                    value_contents (value).data ());
+                                    value->contents ().data ());
     }
 
   value = value_cast (fmt_type, value);
 
   /* Convert the value to a string and print it.  */
   std::string str
-    = target_float_to_string (value_contents (value).data (), fmt_type, format);
+    = target_float_to_string (value->contents ().data (), fmt_type, format);
   gdb_puts (str.c_str (), stream);
 }
 
@@ -2799,7 +2799,7 @@ ui_printf (const char *arg, struct ui_file *stream)
                  || valtype->code () != TYPE_CODE_INT)
                error (_("expected wchar_t argument for %%lc"));
 
-             bytes = value_contents (val_args[i]).data ();
+             bytes = val_args[i]->contents ().data ();
 
              auto_obstack output;
 
index 1a3dcc23aa3b18c4359471b6634cbd0dc3f976c1..8b21f28afbe7f8f93736a922482092b9eb3d2914 100644 (file)
@@ -714,7 +714,7 @@ infpy_thread_from_thread_handle (PyObject *self, PyObject *args, PyObject *kw)
   else if (gdbpy_is_value_object (handle_obj))
     {
       struct value *val = value_object_to_value (handle_obj);
-      bytes = value_contents_all (val).data ();
+      bytes = val->contents_all ().data ();
       bytes_len = val->type ()->length ();
     }
   else
index 442251201f290002b65e39ab5d510beefbc84a8b..97b472f25b120ae398ce9805bd8ffcb479610462 100644 (file)
@@ -131,7 +131,7 @@ pyuw_value_obj_to_pointer (PyObject *pyo_value, CORE_ADDR *addr)
       if ((value = value_object_to_value (pyo_value)) != NULL)
        {
          *addr = unpack_pointer (value->type (),
-                                 value_contents (value).data ());
+                                 value->contents ().data ());
          rc = 1;
        }
     }
@@ -624,7 +624,7 @@ pyuw_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame,
 
        cached_frame->reg[i].data = (gdb_byte *) xmalloc (data_size);
        memcpy (cached_frame->reg[i].data,
-               value_contents (value).data (), data_size);
+               value->contents ().data (), data_size);
       }
   }
 
index c2db2d58b0db373f54492c501e706e1b2060de01..26cbac3586cdcc583e6614ed254ac9e7ec5e65ec 100644 (file)
@@ -1537,7 +1537,7 @@ valpy_nonzero (PyObject *self)
        nonzero = !!value_as_long (self_value->value);
       else if (is_floating_value (self_value->value))
        nonzero = !target_float_is_zero
-         (value_contents (self_value->value).data (), type);
+         (self_value->value->contents ().data (), type);
       else
        /* All other values are True.  */
        nonzero = 1;
@@ -1755,7 +1755,7 @@ valpy_float (PyObject *self)
       type = check_typedef (type);
 
       if (type->code () == TYPE_CODE_FLT && is_floating_value (value))
-       d = target_float_to_host_double (value_contents (value).data (), type);
+       d = target_float_to_host_double (value->contents ().data (), type);
       else if (type->code () == TYPE_CODE_INT)
        {
          /* Note that valpy_long accepts TYPE_CODE_PTR and some
index f8be46c9fb6ef07db61e21cc8499607ce0ad6f9f..78c23ee86fcbde6a6972a7cad30fbab3748a4b20 100644 (file)
@@ -1141,7 +1141,7 @@ riscv_print_one_register_info (struct gdbarch *gdbarch,
          && regtype->field (2).type ()->code () == TYPE_CODE_FLT))
     {
       struct value_print_options opts;
-      const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+      const gdb_byte *valaddr = val->contents_for_printing ().data ();
       enum bfd_endian byte_order = type_byte_order (regtype);
 
       get_user_print_options (&opts);
@@ -3070,7 +3070,7 @@ riscv_push_dummy_call (struct gdbarch *gdbarch,
 
       if (info->type != arg_type)
        arg_value = value_cast (info->type, arg_value);
-      info->contents = value_contents (arg_value).data ();
+      info->contents = arg_value->contents ().data ();
     }
 
   /* Adjust the stack pointer and align it.  */
@@ -3405,7 +3405,7 @@ riscv_return_value (struct gdbarch  *gdbarch,
                 is unscaled.  */
              gdb_mpz unscaled;
 
-             unscaled.read (value_contents (abi_val),
+             unscaled.read (abi_val->contents (),
                             type_byte_order (info.type),
                             info.type->is_unsigned ());
              *read_value = value::allocate (arg_type);
index cd84666916930218033c94ac81ab0a9dbd418c7a..1af78d9c652f7d99a8ea7f009f22259bc54645ac 100644 (file)
@@ -1346,7 +1346,7 @@ rl78_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
       sp -= container_len;
       write_memory (rl78_make_data_address (sp),
-                   value_contents_all (args[i]).data (), len);
+                   args[i]->contents_all ().data (), len);
     }
 
   /* Store struct value address.  */
index 579f85f3870bf0426a063ad31a415ec1f01dca80..15602c80b005c78429491b15831eeda2b41f352f 100644 (file)
@@ -367,7 +367,7 @@ rs6000_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
 
          gdb_assert (len <= 8);
 
-         target_float_convert (value_contents (arg).data (), type, reg_val,
+         target_float_convert (arg->contents ().data (), type, reg_val,
                                reg_type);
          regcache->cooked_write (fp_regnum, reg_val);
          ++f_argno;
@@ -382,7 +382,7 @@ rs6000_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
              gdb_byte word[PPC_MAX_REGISTER_SIZE];
              memset (word, 0, reg_size);
              memcpy (word,
-                     ((char *) value_contents (arg).data ()) + argbytes,
+                     ((char *) arg->contents ().data ()) + argbytes,
                      (len - argbytes) > reg_size
                        ? reg_size : len - argbytes);
              regcache->cooked_write (tdep->ppc_gp0_regnum + 3 + ii, word);
@@ -406,9 +406,9 @@ rs6000_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
             || type->code () == TYPE_CODE_CHAR)
            /* Sign or zero extend the "int" into a "word".  */
            store_unsigned_integer (word, reg_size, byte_order,
-                                   unpack_long (type, value_contents (arg).data ()));
+                                   unpack_long (type, arg->contents ().data ()));
          else
-           memcpy (word, value_contents (arg).data (), len);
+           memcpy (word, arg->contents ().data (), len);
          regcache->cooked_write (tdep->ppc_gp0_regnum + 3 +ii, word);
        }
       ++argno;
@@ -469,7 +469,7 @@ ran_out_of_registers_for_arguments:
       if (argbytes)
        {
          write_memory (sp + 24 + (ii * 4),
-                       value_contents (arg).data () + argbytes,
+                       arg->contents ().data () + argbytes,
                        len - argbytes);
          ++argno;
          ii += ((len - argbytes + 3) & -4) / 4;
@@ -492,11 +492,11 @@ ran_out_of_registers_for_arguments:
              gdb_assert (len <= 8);
 
              regcache->cooked_write (tdep->ppc_fp0_regnum + 1 + f_argno,
-                                     value_contents (arg).data ());
+                                     arg->contents ().data ());
              ++f_argno;
            }
 
-         write_memory (sp + 24 + (ii * 4), value_contents (arg).data (), len);
+         write_memory (sp + 24 + (ii * 4), arg->contents ().data (), len);
          ii += ((len + 3) & -4) / 4;
        }
     }
index 4d21073753522f982c227a546984ff4738aa7e95..c5ae38f9200cfd0d6b0b3789cb8e72d5114f9186 100644 (file)
@@ -111,7 +111,7 @@ rs6000_lynx178_push_dummy_call (struct gdbarch *gdbarch,
 
          gdb_assert (len <= 8);
 
-         target_float_convert (value_contents (arg).data (), type, reg_val,
+         target_float_convert (arg->contents ().data (), type, reg_val,
                                reg_type);
          regcache->cooked_write (fp_regnum, reg_val);
          ++f_argno;
@@ -126,7 +126,7 @@ rs6000_lynx178_push_dummy_call (struct gdbarch *gdbarch,
              gdb_byte word[PPC_MAX_REGISTER_SIZE];
              memset (word, 0, reg_size);
              memcpy (word,
-                     ((char *) value_contents (arg).data ()) + argbytes,
+                     ((char *) arg->contents ().data ()) + argbytes,
                      (len - argbytes) > reg_size
                        ? reg_size : len - argbytes);
              regcache->cooked_write (tdep->ppc_gp0_regnum + 3 + ii, word);
@@ -144,7 +144,7 @@ rs6000_lynx178_push_dummy_call (struct gdbarch *gdbarch,
          gdb_byte word[PPC_MAX_REGISTER_SIZE];
 
          memset (word, 0, reg_size);
-         memcpy (word, value_contents (arg).data (), len);
+         memcpy (word, arg->contents ().data (), len);
          regcache->cooked_write (tdep->ppc_gp0_regnum + 3 +ii, word);
        }
       ++argno;
@@ -206,7 +206,7 @@ ran_out_of_registers_for_arguments:
       if (argbytes)
        {
          write_memory (sp + 24 + (ii * 4),
-                       value_contents (arg).data () + argbytes,
+                       arg->contents ().data () + argbytes,
                        len - argbytes);
          ++argno;
          ii += align_up (len - argbytes, 4) / 4;
@@ -229,11 +229,11 @@ ran_out_of_registers_for_arguments:
              gdb_assert (len <= 8);
 
              regcache->cooked_write (tdep->ppc_fp0_regnum + 1 + f_argno,
-                                     value_contents (arg).data ());
+                                     arg->contents ().data ());
              ++f_argno;
            }
 
-         write_memory (sp + 24 + (ii * 4), value_contents (arg).data (), len);
+         write_memory (sp + 24 + (ii * 4), arg->contents ().data (), len);
          ii += align_up (len, 4) / 4;
        }
     }
index cca2baa6f63a3478c3a53ef3c00772971f5e9823..a5be110a33bff7ea539864c50c4ee90def2e73ec 100644 (file)
@@ -456,7 +456,7 @@ rust_language::print_enum (struct value *val, struct ui_file *stream,
 
   gdb_assert (rust_enum_p (type));
   gdb::array_view<const gdb_byte> view
-    (value_contents_for_printing (val).data (),
+    (val->contents_for_printing ().data (),
      val->type ()->length ());
   type = resolve_dynamic_type (type, view, val->address ());
 
@@ -585,7 +585,7 @@ rust_language::value_print_inner
           encoding.  */
        gdb_puts ("b", stream);
        printstr (stream, type->target_type (),
-                 value_contents_for_printing (val).data (),
+                 val->contents_for_printing ().data (),
                  high_bound - low_bound + 1, "ASCII", 0, &opts);
       }
       break;
@@ -1374,7 +1374,7 @@ rust_struct_anon::evaluate (struct type *expect_type,
 
       if (rust_enum_p (type))
        {
-         type = resolve_dynamic_type (type, value_contents (lhs),
+         type = resolve_dynamic_type (type, lhs->contents (),
                                       lhs->address ());
 
          if (rust_empty_enum_p (type))
@@ -1437,7 +1437,7 @@ rust_structop::evaluate (struct type *expect_type,
   struct type *type = lhs->type ();
   if (type->code () == TYPE_CODE_STRUCT && rust_enum_p (type))
     {
-      type = resolve_dynamic_type (type, value_contents (lhs),
+      type = resolve_dynamic_type (type, lhs->contents (),
                                   lhs->address ());
 
       if (rust_empty_enum_p (type))
index 67db30ace8805dd21ef5eb9a6f8939f383a8f9da..7bd469d51851356e942551e9c441f74fa9065468 100644 (file)
@@ -520,7 +520,7 @@ rx_frame_prev_register (frame_info_ptr this_frame, void **this_cache,
          psw_val = rx_frame_prev_register (this_frame, this_cache,
                                            RX_PSW_REGNUM);
          psw = extract_unsigned_integer
-           (value_contents_all (psw_val).data (), 4,
+           (psw_val->contents_all ().data (), 4,
             gdbarch_byte_order (get_frame_arch (this_frame)));
 
          if ((psw & 0x20000 /* U bit */) != 0)
@@ -725,7 +725,7 @@ rx_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       for (i = 0; i < nargs; i++)
        {
          struct value *arg = args[i];
-         const gdb_byte *arg_bits = value_contents_all (arg).data ();
+         const gdb_byte *arg_bits = arg->contents_all ().data ();
          struct type *arg_type = check_typedef (arg->type ());
          ULONGEST arg_size = arg_type->length ();
 
index 822f66dfc3c51018562b3d2eb1e60028a283b087..7d2cdf2a8732e3fadc668c5b55d2298c0864623b 100644 (file)
@@ -1764,7 +1764,7 @@ s390_handle_arg (struct s390_arg_state *as, struct value *arg,
             it occupies the leftmost bits.  */
          if (write_mode)
            as->regcache->cooked_write_part (S390_F0_REGNUM + as->fr, 0, length,
-                                            value_contents (arg).data ());
+                                            arg->contents ().data ());
          as->fr += 2;
        }
       else
@@ -1773,7 +1773,7 @@ s390_handle_arg (struct s390_arg_state *as, struct value *arg,
             it occupies the rightmost bits.  */
          as->argp = align_up (as->argp + length, word_size);
          if (write_mode)
-           write_memory (as->argp - length, value_contents (arg).data (),
+           write_memory (as->argp - length, arg->contents ().data (),
                          length);
        }
     }
@@ -1788,13 +1788,13 @@ s390_handle_arg (struct s390_arg_state *as, struct value *arg,
 
          if (write_mode)
            as->regcache->cooked_write_part (regnum, 0, length,
-                                            value_contents (arg).data ());
+                                            arg->contents ().data ());
          as->vr++;
        }
       else
        {
          if (write_mode)
-           write_memory (as->argp, value_contents (arg).data (), length);
+           write_memory (as->argp, arg->contents ().data (), length);
          as->argp = align_up (as->argp + length, word_size);
        }
     }
@@ -1809,9 +1809,9 @@ s390_handle_arg (struct s390_arg_state *as, struct value *arg,
             memory word and sign- or zero-extend to full word size.
             This also applies to a struct or union.  */
          val = type->is_unsigned ()
-           ? extract_unsigned_integer (value_contents (arg).data (),
+           ? extract_unsigned_integer (arg->contents ().data (),
                                        length, byte_order)
-           : extract_signed_integer (value_contents (arg).data (),
+           : extract_signed_integer (arg->contents ().data (),
                                      length, byte_order);
        }
 
@@ -1838,10 +1838,10 @@ s390_handle_arg (struct s390_arg_state *as, struct value *arg,
          if (write_mode)
            {
              as->regcache->cooked_write (S390_R0_REGNUM + as->gr,
-                                         value_contents (arg).data ());
+                                         arg->contents ().data ());
              as->regcache->cooked_write
                (S390_R0_REGNUM + as->gr + 1,
-                value_contents (arg).data () + word_size);
+                arg->contents ().data () + word_size);
            }
          as->gr += 2;
        }
@@ -1852,7 +1852,7 @@ s390_handle_arg (struct s390_arg_state *as, struct value *arg,
          as->gr = 7;
 
          if (write_mode)
-           write_memory (as->argp, value_contents (arg).data (), length);
+           write_memory (as->argp, arg->contents ().data (), length);
          as->argp += length;
        }
     }
@@ -1863,7 +1863,7 @@ s390_handle_arg (struct s390_arg_state *as, struct value *arg,
         alignment as a conservative assumption.  */
       as->copy = align_down (as->copy - length, 8);
       if (write_mode)
-       write_memory (as->copy, value_contents (arg).data (), length);
+       write_memory (as->copy, arg->contents ().data (), length);
 
       if (as->gr <= 6)
        {
index c98df0223e9b5cfaa098d255837bd46913c837f5..60f15f1b58e4f0f759e13f91fedc60390200034a 100644 (file)
@@ -883,12 +883,12 @@ sh_justify_value_in_reg (struct gdbarch *gdbarch, struct value *val, int len)
     {
       /* value gets right-justified in the register or stack word.  */
       if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
-       memcpy (valbuf + (4 - len), value_contents (val).data (), len);
+       memcpy (valbuf + (4 - len), val->contents ().data (), len);
       else
-       memcpy (valbuf, value_contents (val).data (), len);
+       memcpy (valbuf, val->contents ().data (), len);
       return valbuf;
     }
-  return value_contents (val).data ();
+  return val->contents ().data ();
 }
 
 /* Helper function to eval number of bytes to allocate on stack.  */
index 5e582c7b77aca81761cd7fa632f97007fa5028b3..78f240db04e738f2371e4d4fbff07c2728aff39d 100644 (file)
@@ -633,7 +633,7 @@ sparc32_store_arguments (struct regcache *regcache, int nargs,
             correct, and wasting a few bytes shouldn't be a problem.  */
          sp &= ~0x7;
 
-         write_memory (sp, value_contents (args[i]).data (), len);
+         write_memory (sp, args[i]->contents ().data (), len);
          args[i] = value_from_pointer (lookup_pointer_type (type), sp);
          num_elements++;
        }
@@ -664,7 +664,7 @@ sparc32_store_arguments (struct regcache *regcache, int nargs,
 
   for (i = 0; i < nargs; i++)
     {
-      const bfd_byte *valbuf = value_contents (args[i]).data ();
+      const bfd_byte *valbuf = args[i]->contents ().data ();
       struct type *type = args[i]->type ();
       int len = type->length ();
       gdb_byte buf[4];
index eb6a66315c0a9e3f0f13f446dc6d8f47c1c8162d..19534fc7379d44726a23bd8fee90d26bea304db0 100644 (file)
@@ -1411,7 +1411,7 @@ sparc64_store_arguments (struct regcache *regcache, int nargs,
                 a problem.  */
              sp &= ~0xf;
 
-             write_memory (sp, value_contents (args[i]).data (), len);
+             write_memory (sp, args[i]->contents ().data (), len);
              args[i] = value_from_pointer (lookup_pointer_type (type), sp);
              num_elements++;
            }
@@ -1480,7 +1480,7 @@ sparc64_store_arguments (struct regcache *regcache, int nargs,
 
   for (i = 0; i < nargs; i++)
     {
-      const gdb_byte *valbuf = value_contents (args[i]).data ();
+      const gdb_byte *valbuf = args[i]->contents ().data ();
       struct type *type = args[i]->type ();
       int len = type->length ();
       int regnum = -1;
index cd5e391debe98fbec54341208568b4138f42e565..576947c5dac2d28f950df7bcda5ed77b29f9c9a2 100644 (file)
@@ -1717,7 +1717,7 @@ info_frame_command_core (frame_info_ptr fi, bool selected_frame_p)
                int sp_size = register_size (gdbarch, sp_regnum);
 
                sp = extract_unsigned_integer
-                 (value_contents_all (value).data (), sp_size, byte_order);
+                 (value->contents_all ().data (), sp_size, byte_order);
 
                gdb_printf (" Previous frame's sp is ");
                gdb_puts (paddress (gdbarch, sp));
@@ -2825,7 +2825,7 @@ return_command (const char *retval_exp, int from_tty)
       gdbarch_return_value_as_value
        (cache_arch, function, return_type,
         get_current_regcache (), NULL /*read*/,
-        value_contents (return_value).data () /*write*/);
+        return_value->contents ().data () /*write*/);
     }
 
   /* If we are at the end of a call dummy now, pop the dummy frame
index 000a2a9aaa51fa3f16b4e9202ae569258fe9efbf..568e5a233db62bed0ff0c178260dcff1ccd7e681 100644 (file)
@@ -917,7 +917,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
       int len = arg_type->length ();
       enum type_code typecode = arg_type->code ();
 
-      val = value_contents (arg).data ();
+      val = arg->contents ().data ();
 
       /* Copy the argument to general registers or the stack in
         register-sized pieces.  */
index 8f005e81dcc4999b5c8f5c51637400adfc790754..1ec37d45d790172bede4af965886d0679e4c7eac 100644 (file)
@@ -304,7 +304,7 @@ tilegx_push_dummy_call (struct gdbarch *gdbarch,
        break;
 
       /* Put argument into registers wordwise. */
-      val = value_contents (args[i]).data ();
+      val = args[i]->contents ().data ();
       for (j = 0; j < typelen; j += tilegx_reg_size)
        {
          /* ISSUE: Why special handling for "typelen = 4x + 1"?
@@ -323,7 +323,7 @@ tilegx_push_dummy_call (struct gdbarch *gdbarch,
      the stack, word aligned.  */
   for (j = nargs - 1; j >= i; j--)
     {
-      const gdb_byte *contents = value_contents (args[j]).data ();
+      const gdb_byte *contents = args[j]->contents ().data ();
 
       typelen = args[j]->enclosing_type ()->length ();
       slacklen = align_up (typelen, 8) - typelen;
index 74451bbaa9bbd052e90f876b5490fdc5bafca08d..240536805d7f3472e5d4023de33d1d7270c9a452 100644 (file)
@@ -1066,7 +1066,7 @@ v850_push_dummy_call (struct gdbarch *gdbarch,
       else
        {
          len = (*args)->type ()->length ();
-         val = (gdb_byte *) value_contents (*args).data ();
+         val = (gdb_byte *) (*args)->contents ().data ();
        }
 
       if (tdep->eight_byte_align
index cd3a9c8d699cf50da334143fae2aa76bb64e2145..e92b6672229460b75a50c7c6ac377e5ee46abbc0 100644 (file)
@@ -718,8 +718,8 @@ value_concat (struct value *arg1, struct value *arg2)
 
   struct value *result = value::allocate (atype);
   gdb::array_view<gdb_byte> contents = result->contents_raw ();
-  gdb::array_view<const gdb_byte> lhs_contents = value_contents (arg1);
-  gdb::array_view<const gdb_byte> rhs_contents = value_contents (arg2);
+  gdb::array_view<const gdb_byte> lhs_contents = arg1->contents ();
+  gdb::array_view<const gdb_byte> rhs_contents = arg2->contents ();
   gdb::copy (lhs_contents, contents.slice (0, lhs_contents.size ()));
   gdb::copy (rhs_contents, contents.slice (lhs_contents.size ()));
 
@@ -785,7 +785,7 @@ value_args_as_target_float (struct value *arg1, struct value *arg2,
   if (is_floating_type (type1))
     {
       *eff_type_x = type1;
-      memcpy (x, value_contents (arg1).data (), type1->length ());
+      memcpy (x, arg1->contents ().data (), type1->length ());
     }
   else if (is_integral_type (type1))
     {
@@ -804,7 +804,7 @@ value_args_as_target_float (struct value *arg1, struct value *arg2,
   if (is_floating_type (type2))
     {
       *eff_type_y = type2;
-      memcpy (y, value_contents (arg2).data (), type2->length ());
+      memcpy (y, arg2->contents ().data (), type2->length ());
     }
   else if (is_integral_type (type2))
     {
@@ -859,10 +859,10 @@ fixed_point_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
          type2 = type1;
        }
 
-      v1.read_fixed_point (value_contents (arg1),
+      v1.read_fixed_point (arg1->contents (),
                           type_byte_order (type1), type1->is_unsigned (),
                           type1->fixed_point_scaling_factor ());
-      v2.read_fixed_point (value_contents (arg2),
+      v2.read_fixed_point (arg2->contents (),
                           type_byte_order (type2), type2->is_unsigned (),
                           type2->fixed_point_scaling_factor ());
     }
@@ -1587,7 +1587,7 @@ value_vector_widen (struct value *scalar_value, struct type *vector_type)
 
   for (i = 0; i < high_bound - low_bound + 1; i++)
     /* Duplicate the contents of elval into the destination vector.  */
-    copy (value_contents_all (elval),
+    copy (elval->contents_all (),
          val_contents.slice (i * elt_len, elt_len));
 
   return val;
@@ -1635,7 +1635,7 @@ vector_binop (struct value *val1, struct value *val2, enum exp_opcode op)
     {
       value *tmp = value_binop (value_subscript (val1, i),
                                value_subscript (val2, i), op);
-      copy (value_contents_all (tmp),
+      copy (tmp->contents_all (),
            val_contents.slice (i * elsize, elsize));
      }
 
@@ -1692,10 +1692,10 @@ value_logical_not (struct value *arg1)
   type1 = check_typedef (arg1->type ());
 
   if (is_floating_value (arg1))
-    return target_float_is_zero (value_contents (arg1).data (), type1);
+    return target_float_is_zero (arg1->contents ().data (), type1);
 
   len = type1->length ();
-  p = value_contents (arg1).data ();
+  p = arg1->contents ().data ();
 
   while (--len >= 0)
     {
@@ -1714,8 +1714,8 @@ value_strcmp (struct value *arg1, struct value *arg2)
 {
   int len1 = arg1->type ()->length ();
   int len2 = arg2->type ()->length ();
-  const gdb_byte *s1 = value_contents (arg1).data ();
-  const gdb_byte *s2 = value_contents (arg2).data ();
+  const gdb_byte *s1 = arg1->contents ().data ();
+  const gdb_byte *s2 = arg2->contents ().data ();
   int i, len = len1 < len2 ? len1 : len2;
 
   for (i = 0; i < len; i++)
@@ -1790,8 +1790,8 @@ value_equal (struct value *arg1, struct value *arg2)
           && ((len = (int) type1->length ())
               == (int) type2->length ()))
     {
-      p1 = value_contents (arg1).data ();
-      p2 = value_contents (arg2).data ();
+      p1 = arg1->contents ().data ();
+      p2 = arg2->contents ().data ();
       while (--len >= 0)
        {
          if (*p1++ != *p2++)
@@ -1821,8 +1821,8 @@ value_equal_contents (struct value *arg1, struct value *arg2)
 
   return (type1->code () == type2->code ()
          && type1->length () == type2->length ()
-         && memcmp (value_contents (arg1).data (),
-                    value_contents (arg2).data (),
+         && memcmp (arg1->contents ().data (),
+                    arg2->contents ().data (),
                     type1->length ()) == 0);
 }
 
@@ -1897,7 +1897,7 @@ value_pos (struct value *arg1)
   if (is_integral_type (type) || is_floating_value (arg1)
       || (type->code () == TYPE_CODE_ARRAY && type->is_vector ())
       || type->code () == TYPE_CODE_COMPLEX)
-    return value_from_contents (type, value_contents (arg1).data ());
+    return value_from_contents (type, arg1->contents ().data ());
   else
     error (_("Argument to positive operation not a number."));
 }
@@ -1930,7 +1930,7 @@ value_neg (struct value *arg1)
       for (i = 0; i < high_bound - low_bound + 1; i++)
        {
          value *tmp = value_neg (value_subscript (arg1, i));
-         copy (value_contents_all (tmp),
+         copy (tmp->contents_all (),
                val_contents.slice (i * elt_len, elt_len));
        }
       return val;
@@ -1975,7 +1975,7 @@ value_complement (struct value *arg1)
       for (i = 0; i < high_bound - low_bound + 1; i++)
        {
          value *tmp = value_complement (value_subscript (arg1, i));
-         copy (value_contents_all (tmp),
+         copy (tmp->contents_all (),
                val_contents.slice (i * elt_len, elt_len));
        }
     }
@@ -2037,7 +2037,7 @@ value_in (struct value *element, struct value *set)
       && eltype->code () != TYPE_CODE_ENUM
       && eltype->code () != TYPE_CODE_BOOL)
     error (_("First argument of 'IN' has wrong type"));
-  member = value_bit_index (settype, value_contents (set).data (),
+  member = value_bit_index (settype, set->contents ().data (),
                            value_as_long (element));
   if (member < 0)
     error (_("First argument of 'IN' not in range"));
index fc9c6dcfe64437170eb1c583f381cb9b9bdd5896..2923d9fc0d14bdc5f58b33872a54a214ad669f96 100644 (file)
@@ -342,7 +342,7 @@ value_to_gdb_mpq (struct value *value)
   gdb_mpq result;
   if (is_floating_type (type))
     {
-      double d = target_float_to_host_double (value_contents (value).data (),
+      double d = target_float_to_host_double (value->contents ().data (),
                                              type);
       mpq_set_d (result.val, d);
     }
@@ -352,7 +352,7 @@ value_to_gdb_mpq (struct value *value)
                  || is_fixed_point_type (type));
 
       gdb_mpz vz;
-      vz.read (value_contents (value), type_byte_order (type),
+      vz.read (value->contents (), type_byte_order (type),
               type->is_unsigned ());
       mpq_set_z (result.val, vz.val);
 
@@ -544,7 +544,7 @@ value_cast (struct type *type, struct value *arg2)
       if (is_floating_value (arg2))
        {
          struct value *v = value::allocate (to_type);
-         target_float_convert (value_contents (arg2).data (), type2,
+         target_float_convert (arg2->contents ().data (), type2,
                                v->contents_raw ().data (), type);
          return v;
        }
@@ -552,7 +552,7 @@ value_cast (struct type *type, struct value *arg2)
        {
          gdb_mpq fp_val;
 
-         fp_val.read_fixed_point (value_contents (arg2),
+         fp_val.read_fixed_point (arg2->contents (),
                                   type_byte_order (type2),
                                   type2->is_unsigned (),
                                   type2->fixed_point_scaling_factor ());
@@ -584,7 +584,7 @@ value_cast (struct type *type, struct value *arg2)
         bits.  */
       if (code2 == TYPE_CODE_PTR)
        longest = extract_unsigned_integer
-                   (value_contents (arg2), type_byte_order (type2));
+         (arg2->contents (), type_byte_order (type2));
       else
        longest = value_as_long (arg2);
       return value_from_longest (to_type, convert_to_boolean ?
@@ -902,7 +902,7 @@ value_dynamic_cast (struct type *type, struct value *arg)
        return tem;
       result = NULL;
       if (dynamic_cast_check_1 (resolved_type->target_type (),
-                               value_contents_for_printing (tem).data (),
+                               tem->contents_for_printing ().data (),
                                tem->embedded_offset (),
                                tem->address (), tem,
                                rtti_type, addr,
@@ -918,7 +918,7 @@ value_dynamic_cast (struct type *type, struct value *arg)
   result = NULL;
   if (is_public_ancestor (arg_type, rtti_type)
       && dynamic_cast_check_2 (resolved_type->target_type (),
-                              value_contents_for_printing (tem).data (),
+                              tem->contents_for_printing ().data (),
                               tem->embedded_offset (),
                               tem->address (), tem,
                               rtti_type, &result) == 1)
@@ -961,7 +961,7 @@ value_one (struct type *type)
       for (i = 0; i < high_bound - low_bound + 1; i++)
        {
          value *tmp = value_one (eltype);
-         copy (value_contents_all (tmp),
+         copy (tmp->contents_all (),
                val_contents.slice (i * elt_len, elt_len));
        }
     }
@@ -1183,7 +1183,7 @@ value_assign (struct value *toval, struct value *fromval)
          {
            changed_addr = toval->address ();
            changed_len = type_length_units (type);
-           dest_buffer = value_contents (fromval).data ();
+           dest_buffer = fromval->contents ().data ();
          }
 
        write_memory_with_notification (changed_addr, dest_buffer, changed_len);
@@ -1259,12 +1259,12 @@ value_assign (struct value *toval, struct value *fromval)
                   format.  */
                gdbarch_value_to_register (gdbarch, frame,
                                           VALUE_REGNUM (toval), type,
-                                          value_contents (fromval).data ());
+                                          fromval->contents ().data ());
              }
            else
              put_frame_register_bytes (frame, value_reg,
                                        toval->offset (),
-                                       value_contents (fromval));
+                                       fromval->contents ());
          }
 
        gdb::observers::register_changed.notify (frame, value_reg);
@@ -1344,7 +1344,7 @@ value_assign (struct value *toval, struct value *fromval)
      implies the returned value is not lazy, even if TOVAL was.  */
   val = value_copy (toval);
   val->set_lazy (0);
-  copy (value_contents (fromval), val->contents_raw ());
+  copy (fromval->contents (), val->contents_raw ());
 
   /* We copy over the enclosing type and pointed-to offset from FROMVAL
      in the case of pointer types.  For object types, the enclosing type
@@ -1485,7 +1485,7 @@ value_coerce_to_target (struct value *val)
 
   length = check_typedef (val->type ())->length ();
   addr = allocate_space_in_inferior (length);
-  write_memory (addr, value_contents (val).data (), length);
+  write_memory (addr, val->contents ().data (), length);
   return value_at_lazy (val->type (), addr);
 }
 
@@ -2083,7 +2083,7 @@ struct_field_searcher::search (struct value *arg1, LONGEST offset,
          struct value *v2;
 
          boffset = baseclass_offset (type, i,
-                                     value_contents_for_printing (arg1).data (),
+                                     arg1->contents_for_printing ().data (),
                                      arg1->embedded_offset () + offset,
                                      arg1->address (),
                                      arg1);
@@ -2287,13 +2287,13 @@ search_struct_method (const char *name, struct value **arg1p,
              base_val = value_from_contents_and_address (baseclass,
                                                          tmp.data (),
                                                          address + offset);
-             base_valaddr = value_contents_for_printing (base_val).data ();
+             base_valaddr = base_val->contents_for_printing ().data ();
              this_offset = 0;
            }
          else
            {
              base_val = *arg1p;
-             base_valaddr = value_contents_for_printing (*arg1p).data ();
+             base_valaddr = (*arg1p)->contents_for_printing ().data ();
              this_offset = offset;
            }
 
@@ -2558,7 +2558,7 @@ find_method_list (struct value **argp, const char *method,
       if (BASETYPE_VIA_VIRTUAL (type, i))
        {
          base_offset = baseclass_offset (type, i,
-                                         value_contents_for_printing (*argp).data (),
+                                         (*argp)->contents_for_printing ().data (),
                                          (*argp)->offset () + offset,
                                          (*argp)->address (), *argp);
        }
@@ -3529,7 +3529,7 @@ get_baseclass_offset (struct type *vt, struct type *cls,
        {
          if (BASETYPE_VIA_VIRTUAL (vt, i))
            {
-             const gdb_byte *adr = value_contents_for_printing (v).data ();
+             const gdb_byte *adr = v->contents_for_printing ().data ();
              *boffs = baseclass_offset (vt, i, adr, v->offset (),
                                         value_as_long (v), v);
              *isvirt = true;
@@ -3543,7 +3543,7 @@ get_baseclass_offset (struct type *vt, struct type *cls,
        {
          if (*isvirt == false) /* Add non-virtual base offset.  */
            {
-             const gdb_byte *adr = value_contents_for_printing (v).data ();
+             const gdb_byte *adr = v->contents_for_printing ().data ();
              *boffs += baseclass_offset (vt, i, adr, v->offset (),
                                          value_as_long (v), v);
            }
@@ -4110,9 +4110,9 @@ value_literal_complex (struct value *arg1,
 
   int len = real_type->length ();
 
-  copy (value_contents (arg1),
+  copy (arg1->contents (),
        val->contents_raw ().slice (0, len));
-  copy (value_contents (arg2),
+  copy (arg2->contents (),
        val->contents_raw ().slice (len, len));
 
   return val;
@@ -4157,9 +4157,9 @@ cast_into_complex (struct type *type, struct value *val)
       struct value *im_val = value::allocate (val_real_type);
       int len = val_real_type->length ();
 
-      copy (value_contents (val).slice (0, len),
+      copy (val->contents ().slice (0, len),
            re_val->contents_raw ());
-      copy (value_contents (val).slice (len, len),
+      copy (val->contents ().slice (len, len),
            im_val->contents_raw ());
 
       return value_literal_complex (re_val, im_val, type);
index 08e8826e5b923cb40aeee7c8b7927e1093f421c2..ba62d3af41c6979f1b3579542b7312fa5e7e60d6 100644 (file)
@@ -513,7 +513,7 @@ generic_value_print_ptr (struct value *val, struct ui_file *stream,
     {
       struct type *type = check_typedef (val->type ());
       struct type *elttype = check_typedef (type->target_type ());
-      const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+      const gdb_byte *valaddr = val->contents_for_printing ().data ();
       CORE_ADDR addr = unpack_pointer (type, valaddr);
 
       print_unpacked_pointer (type, elttype, addr, stream, options);
@@ -549,7 +549,7 @@ get_value_addr_contents (struct value *deref_val)
   gdb_assert (deref_val != NULL);
 
   if (deref_val->lval () == lval_memory)
-    return value_contents_for_printing_const (value_addr (deref_val)).data ();
+    return value_addr (deref_val)->contents_for_printing ().data ();
   else
     {
       /* We have a non-addressable value, such as a DW_AT_const_value.  */
@@ -573,7 +573,7 @@ generic_val_print_ref (struct type *type,
   const int must_coerce_ref = ((options->addressprint && value_is_synthetic)
                               || options->deref_ref);
   const int type_is_defined = elttype->code () != TYPE_CODE_UNDEF;
-  const gdb_byte *valaddr = value_contents_for_printing (original_value).data ();
+  const gdb_byte *valaddr = original_value->contents_for_printing ().data ();
 
   if (must_coerce_ref && type_is_defined)
     {
@@ -721,7 +721,7 @@ generic_val_print_enum (struct type *type,
 
   gdb_assert (!options->format);
 
-  const gdb_byte *valaddr = value_contents_for_printing (original_value).data ();
+  const gdb_byte *valaddr = original_value->contents_for_printing ().data ();
 
   val = unpack_long (type, valaddr + embedded_offset * unit_size);
 
@@ -768,7 +768,7 @@ generic_value_print_bool
     }
   else
     {
-      const gdb_byte *valaddr = value_contents_for_printing (value).data ();
+      const gdb_byte *valaddr = value->contents_for_printing ().data ();
       struct type *type = check_typedef (value->type ());
       LONGEST val = unpack_long (type, valaddr);
       if (val == 0)
@@ -811,7 +811,7 @@ generic_value_print_char (struct value *value, struct ui_file *stream,
     {
       struct type *unresolved_type = value->type ();
       struct type *type = check_typedef (unresolved_type);
-      const gdb_byte *valaddr = value_contents_for_printing (value).data ();
+      const gdb_byte *valaddr = value->contents_for_printing ().data ();
 
       LONGEST val = unpack_long (type, valaddr);
       if (type->is_unsigned ())
@@ -832,7 +832,7 @@ generic_val_print_float (struct type *type, struct ui_file *stream,
 {
   gdb_assert (!options->format);
 
-  const gdb_byte *valaddr = value_contents_for_printing (original_value).data ();
+  const gdb_byte *valaddr = original_value->contents_for_printing ().data ();
 
   print_floating (valaddr, type, stream);
 }
@@ -849,7 +849,7 @@ generic_val_print_fixed_point (struct value *val, struct ui_file *stream,
     {
       struct type *type = val->type ();
 
-      const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+      const gdb_byte *valaddr = val->contents_for_printing ().data ();
       gdb_mpf f;
 
       f.read_fixed_point (gdb::make_array_view (valaddr, type->length ()),
@@ -895,7 +895,7 @@ generic_value_print_memberptr
       /* Member pointers are essentially specific to C++, and so if we
         encounter one, we should print it according to C++ rules.  */
       struct type *type = check_typedef (val->type ());
-      const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+      const gdb_byte *valaddr = val->contents_for_printing ().data ();
       cp_print_class_member (valaddr, type, stream, "&");
     }
   else
@@ -1012,7 +1012,7 @@ generic_value_print (struct value *val, struct ui_file *stream, int recurse,
       break;
 
     case TYPE_CODE_METHODPTR:
-      cplus_print_method_ptr (value_contents_for_printing (val).data (), type,
+      cplus_print_method_ptr (val->contents_for_printing ().data (), type,
                              stream);
       break;
 
@@ -1226,7 +1226,7 @@ static void
 val_print_type_code_flags (struct type *type, struct value *original_value,
                           int embedded_offset, struct ui_file *stream)
 {
-  const gdb_byte *valaddr = (value_contents_for_printing (original_value).data ()
+  const gdb_byte *valaddr = (original_value->contents_for_printing ().data ()
                             + embedded_offset);
   ULONGEST val = unpack_long (type, valaddr);
   int field, nfields = type->num_fields ();
@@ -1300,7 +1300,7 @@ value_print_scalar_formatted (struct value *val,
   /* value_contents_for_printing fetches all VAL's contents.  They are
      needed to check whether VAL is optimized-out or unavailable
      below.  */
-  const gdb_byte *valaddr = value_contents_for_printing (val).data ();
+  const gdb_byte *valaddr = val->contents_for_printing ().data ();
 
   /* A scalar object that does not have all bits available can't be
      printed, because all bits contribute to its representation.  */
index eb047edc202935970cd1e27be36386efb5fecf63..23453e82ce5009ca0bcdf91d29c9481dd5e5afde 100644 (file)
@@ -1090,12 +1090,12 @@ error_value_optimized_out (void)
   throw_error (OPTIMIZED_OUT_ERROR, _("value has been optimized out"));
 }
 
-static void
-require_not_optimized_out (const struct value *value)
+void
+value::require_not_optimized_out () const
 {
-  if (!value->m_optimized_out.empty ())
+  if (!m_optimized_out.empty ())
     {
-      if (value->m_lval == lval_register)
+      if (m_lval == lval_register)
        throw_error (OPTIMIZED_OUT_ERROR,
                     _("register has not been saved in frame"));
       else
@@ -1103,38 +1103,38 @@ require_not_optimized_out (const struct value *value)
     }
 }
 
-static void
-require_available (const struct value *value)
+void
+value::require_available () const
 {
-  if (!value->m_unavailable.empty ())
+  if (!m_unavailable.empty ())
     throw_error (NOT_AVAILABLE_ERROR, _("value is not available"));
 }
 
 gdb::array_view<const gdb_byte>
-value_contents_for_printing (struct value *value)
+value::contents_for_printing ()
 {
-  if (value->m_lazy)
-    value->fetch_lazy ();
+  if (m_lazy)
+    fetch_lazy ();
 
-  ULONGEST length = value->enclosing_type ()->length ();
-  return gdb::make_array_view (value->m_contents.get (), length);
+  ULONGEST length = enclosing_type ()->length ();
+  return gdb::make_array_view (m_contents.get (), length);
 }
 
 gdb::array_view<const gdb_byte>
-value_contents_for_printing_const (const struct value *value)
+value::contents_for_printing () const
 {
-  gdb_assert (!value->m_lazy);
+  gdb_assert (!m_lazy);
 
-  ULONGEST length = value->enclosing_type ()->length ();
-  return gdb::make_array_view (value->m_contents.get (), length);
+  ULONGEST length = enclosing_type ()->length ();
+  return gdb::make_array_view (m_contents.get (), length);
 }
 
 gdb::array_view<const gdb_byte>
-value_contents_all (struct value *value)
+value::contents_all ()
 {
-  gdb::array_view<const gdb_byte> result = value_contents_for_printing (value);
-  require_not_optimized_out (value);
-  require_available (value);
+  gdb::array_view<const gdb_byte> result = contents_for_printing ();
+  require_not_optimized_out ();
+  require_available ();
   return result;
 }
 
@@ -1286,11 +1286,11 @@ value_contents_copy (struct value *dst, LONGEST dst_offset,
 }
 
 gdb::array_view<const gdb_byte>
-value_contents (struct value *value)
+value::contents ()
 {
-  gdb::array_view<const gdb_byte> result = value->contents_writeable ();
-  require_not_optimized_out (value);
-  require_available (value);
+  gdb::array_view<const gdb_byte> result = contents_writeable ();
+  require_not_optimized_out ();
+  require_available ();
   return result;
 }
 
@@ -1604,7 +1604,7 @@ value_non_lval (struct value *arg)
       struct type *enc_type = arg->enclosing_type ();
       struct value *val = value::allocate (enc_type);
 
-      copy (value_contents_all (arg), val->contents_all_raw ());
+      copy (arg->contents_all (), val->contents_all_raw ());
       val->m_type = arg->m_type;
       val->set_embedded_offset (arg->embedded_offset ());
       val->set_pointed_to_offset (arg->pointed_to_offset ());
@@ -2187,7 +2187,7 @@ set_internalvar_component (struct internalvar *var,
        modify_field (var->u.value->type (), addr + offset,
                      value_as_long (newval), bitpos, bitsize);
       else
-       memcpy (addr + offset * unit_size, value_contents (newval).data (),
+       memcpy (addr + offset * unit_size, newval->contents ().data (),
                newval->type ()->length ());
       break;
 
@@ -2591,7 +2591,7 @@ value_as_long (struct value *val)
      in disassemble_command).  It also dereferences references, which
      I suspect is the most logical thing to do.  */
   val = coerce_array (val);
-  return unpack_long (val->type (), value_contents (val).data ());
+  return unpack_long (val->type (), val->contents ().data ());
 }
 
 /* Extract a value as a C pointer.  Does not deallocate the value.
@@ -2694,9 +2694,9 @@ value_as_address (struct value *val)
   if (!val->type ()->is_pointer_or_reference ()
       && gdbarch_integer_to_address_p (gdbarch))
     return gdbarch_integer_to_address (gdbarch, val->type (),
-                                      value_contents (val).data ());
+                                      val->contents ().data ());
 
-  return unpack_long (val->type (), value_contents (val).data ());
+  return unpack_long (val->type (), val->contents ().data ());
 #endif
 }
 \f
@@ -2820,7 +2820,7 @@ is_floating_value (struct value *val)
 
   if (is_floating_type (type))
     {
-      if (!target_float_is_valid (value_contents (val).data (), type))
+      if (!target_float_is_valid (val->contents ().data (), type))
        error (_("Invalid floating value found in program."));
       return true;
     }
@@ -2961,7 +2961,7 @@ value_primitive_field (struct value *arg1, LONGEST offset,
         for references to ordinary fields of unavailable values.  */
       if (BASETYPE_VIA_VIRTUAL (arg_type, fieldno))
        boffset = baseclass_offset (arg_type, fieldno,
-                                   value_contents (arg1).data (),
+                                   arg1->contents ().data (),
                                    arg1->embedded_offset (),
                                    arg1->address (),
                                    arg1);
@@ -3709,7 +3709,7 @@ coerce_ref (struct value *arg)
   enc_type = check_typedef (arg->enclosing_type ());
   enc_type = enc_type->target_type ();
 
-  CORE_ADDR addr = unpack_pointer (arg->type (), value_contents (arg).data ());
+  CORE_ADDR addr = unpack_pointer (arg->type (), arg->contents ().data ());
   retval = value_at_lazy (enc_type, addr);
   enc_type = retval->type ();
   return readjust_indirect_value_type (retval, enc_type, value_type_arg_tmp,
@@ -3790,7 +3790,7 @@ value::fetch_lazy_bitfield ()
     parent->fetch_lazy ();
 
   unpack_value_bitfield (this, bitpos (), bitsize (),
-                        value_contents_for_printing (parent).data (),
+                        parent->contents_for_printing ().data (),
                         offset (), parent);
 }
 
@@ -3914,7 +3914,7 @@ value::fetch_lazy_register ()
       else
        {
          int i;
-         gdb::array_view<const gdb_byte> buf = value_contents (new_val);
+         gdb::array_view<const gdb_byte> buf = new_val->contents ();
 
          if (VALUE_LVAL (new_val) == lval_register)
            gdb_printf (&debug_file, " register=%d",
index 0abe0a417b3daf6459fd45c57d32445fc493e524..f38241f1a5b737ef2611029ab5817bcc6eb41562 100644 (file)
@@ -281,8 +281,8 @@ public:
 
      When we store the entire object, `enclosing_type' is the run-time
      type -- the complete object -- and `embedded_offset' is the offset
-     of `type' within that larger type, in bytes.  The value_contents()
-     macro takes `embedded_offset' into account, so most GDB code
+     of `type' within that larger type, in bytes.  The contents()
+     method takes `embedded_offset' into account, so most GDB code
      continues to see the `type' portion of the value, just as the
      inferior would.
 
@@ -367,9 +367,31 @@ public:
      get to the real subobject, if the value happens to represent
      something embedded in a larger run-time object.  */
   gdb::array_view<gdb_byte> contents_raw ();
+
+  /* Actual contents of the value.  For use of this value; setting it
+     uses the stuff above.  Not valid if lazy is nonzero.  Target
+     byte-order.  We force it to be aligned properly for any possible
+     value.  Note that a value therefore extends beyond what is
+     declared here.  */
+  gdb::array_view<const gdb_byte> contents ();
+
+  /* The ALL variants of the above two methods do not adjust the
+     returned pointer by the embedded_offset value.  */
+  gdb::array_view<const gdb_byte> contents_all ();
   gdb::array_view<gdb_byte> contents_all_raw ();
+
   gdb::array_view<gdb_byte> contents_writeable ();
 
+  /* Like contents_all, but does not require that the returned bits be
+     valid.  This should only be used in situations where you plan to
+     check the validity manually.  */
+  gdb::array_view<const gdb_byte> contents_for_printing ();
+
+  /* Like contents_for_printing, but accepts a constant value pointer.
+     Unlike contents_for_printing however, the pointed value must
+     _not_ be lazy.  */
+  gdb::array_view<const gdb_byte> contents_for_printing () const;
+
   /* Load the actual content of a lazy value.  Fetch the data from the
      user's process and clear the lazy flag to indicate that the data in
      the buffer is valid.
@@ -578,7 +600,7 @@ public:
      When we store the entire object, `enclosing_type' is the run-time
      type -- the complete object -- and `embedded_offset' is the
      offset of `type' within that larger type, in target addressable memory
-     units.  The value_contents() macro takes `embedded_offset' into account,
+     units.  The contents() method takes `embedded_offset' into account,
      so most GDB code continues to see the `type' portion of the value, just
      as the inferior would.
 
@@ -667,6 +689,9 @@ private:
      bits.  Return true if the available bits match.  */
   bool contents_bits_eq (int offset1, const struct value *val2, int offset2,
                         int length) const;
+
+  void require_not_optimized_out () const;
+  void require_available () const;
 };
 
 inline void
@@ -763,30 +788,6 @@ struct lval_funcs
 
 extern void error_value_optimized_out (void);
 
-/* Actual contents of the value.  For use of this value; setting it
-   uses the stuff above.  Not valid if lazy is nonzero.  Target
-   byte-order.  We force it to be aligned properly for any possible
-   value.  Note that a value therefore extends beyond what is
-   declared here.  */
-
-extern gdb::array_view<const gdb_byte> value_contents (struct value *);
-
-/* The ALL variants of the above two macros do not adjust the returned
-   pointer by the embedded_offset value.  */
-
-extern gdb::array_view<const gdb_byte> value_contents_all (struct value *);
-
-/* Like value_contents_all, but does not require that the returned
-   bits be valid.  This should only be used in situations where you
-   plan to check the validity manually.  */
-extern gdb::array_view<const gdb_byte> value_contents_for_printing (struct value *value);
-
-/* Like value_contents_for_printing, but accepts a constant value
-   pointer.  Unlike value_contents_for_printing however, the pointed
-   value must _not_ be lazy.  */
-extern gdb::array_view<const gdb_byte>
-  value_contents_for_printing_const (const struct value *value);
-
 /* If nonzero, this is the value of a variable which does not actually
    exist in the program, at least partially.  If the value is lazy,
    this may fetch it now.  */
index c46010d0b130cd4faf913bb3fbe86a4d10f401a3..0f92a469d6c694d7ee200a0f9199f2dcc64d09ea 100644 (file)
@@ -121,7 +121,7 @@ vax_store_arguments (struct regcache *regcache, int nargs,
 
       sp -= (len + 3) & ~3;
       count += (len + 3) / 4;
-      write_memory (sp, value_contents_all (args[i]).data (), len);
+      write_memory (sp, args[i]->contents_all ().data (), len);
     }
 
   /* Push argument count.  */
index c12d83213ae1a8bace11372d2acb6ea3705ddaaf..c505281622ac53d5838063f6444c6c72015271f7 100644 (file)
@@ -252,7 +252,7 @@ xstormy16_push_dummy_call (struct gdbarch *gdbarch,
        break;
 
       /* Put argument into registers wordwise.  */
-      const gdb_byte *val = value_contents (args[i]).data ();
+      const gdb_byte *val = args[i]->contents ().data ();
       for (j = 0; j < typelen; j += xstormy16_reg_size)
        {
          ULONGEST regval;
@@ -270,7 +270,7 @@ xstormy16_push_dummy_call (struct gdbarch *gdbarch,
      wordaligned.  */
   for (j = nargs - 1; j >= i; j--)
     {
-      const gdb_byte *bytes = value_contents (args[j]).data ();
+      const gdb_byte *bytes = args[j]->contents ().data ();
 
       typelen = args[j]->enclosing_type ()->length ();
       slacklen = typelen & 1;
index c3d175adff6b84159cb14f7dc6b29afb6ad58c17..092ae088932b694dba360529ad4a4943a9ea0499 100644 (file)
@@ -1729,7 +1729,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
              break;
            }
          gdb_printf (gdb_stdlog, " %s\n",
-                     host_address_to_string (value_contents (arg).data ()));
+                     host_address_to_string (arg->contents ().data ()));
        }
     }
 
@@ -1785,7 +1785,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
          break;
        }
       info->length = arg_type->length ();
-      info->contents = value_contents (arg).data ();
+      info->contents = arg->contents ().data ();
 
       /* Align size and onstack_size.  */
       size = (size + info->align - 1) & ~(info->align - 1);