From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2126) id C2BBB3858C2C; Mon, 13 Feb 2023 22:30:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C2BBB3858C2C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1676327406; bh=2rjKrbjfIdEIAiS8NPH0KGugusJ0gXRu7F2HHQCSydA=; h=From:To:Subject:Date:From; b=MeqwIVTlFm10B9ru4sXJBeTprOBfhzJOLXtsGDhW2OBvyYLWcJNxpjdrzrQkO2yoQ D1y7Cy4fvuUDf6k6bRm3mAu2yh7m6SmdacZnaVl+r8dKplpubLcELNlZYl6xwfNyn/ JJeNI2/BSyBSUrJhkqEBskros4ylSIVDWsZ+g0O4= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Tom Tromey To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Turn remaining value_contents functions into methods X-Act-Checkin: binutils-gdb X-Git-Author: Tom Tromey X-Git-Refname: refs/heads/master X-Git-Oldrev: cdf3de175d41acec85d6c3cc8b599f79658edb06 X-Git-Newrev: efaf1ae025cbef5438d2fe943dd010b773d757ac Message-Id: <20230213223006.C2BBB3858C2C@sourceware.org> Date: Mon, 13 Feb 2023 22:30:06 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Defaf1ae025cb= ef5438d2fe943dd010b773d757ac commit efaf1ae025cbef5438d2fe943dd010b773d757ac Author: Tom Tromey Date: Tue Jan 31 14:38:30 2023 -0700 Turn remaining value_contents functions into methods =20 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. =20 Approved-By: Simon Marchi Diff: --- gdb/aarch64-tdep.c | 12 +++---- gdb/ada-lang.c | 28 ++++++++-------- gdb/ada-tasks.c | 2 +- gdb/ada-valprint.c | 10 +++--- gdb/alpha-tdep.c | 8 ++--- gdb/amd64-tdep.c | 4 +-- gdb/amd64-windows-tdep.c | 6 ++-- gdb/arc-tdep.c | 4 +-- gdb/arm-tdep.c | 2 +- gdb/avr-tdep.c | 2 +- gdb/bfin-tdep.c | 2 +- gdb/breakpoint.c | 2 +- gdb/c-lang.c | 2 +- gdb/c-valprint.c | 8 ++--- gdb/cli/cli-cmds.c | 2 +- gdb/cli/cli-dump.c | 4 +-- gdb/compile/compile-object-load.c | 2 +- gdb/cp-valprint.c | 4 +-- gdb/cris-tdep.c | 2 +- gdb/csky-tdep.c | 2 +- gdb/d-valprint.c | 2 +- gdb/dwarf2/expr.c | 12 +++---- gdb/eval.c | 4 +-- gdb/f-lang.c | 22 ++++++------- gdb/f-valprint.c | 2 +- gdb/findcmd.c | 2 +- gdb/frame.c | 12 +++---- gdb/frv-tdep.c | 4 +-- gdb/gdbtypes.c | 2 +- gdb/gnu-v3-abi.c | 2 +- gdb/go-valprint.c | 2 +- gdb/guile/scm-value.c | 4 +-- gdb/h8300-tdep.c | 2 +- gdb/hppa-tdep.c | 16 ++++----- gdb/i386-darwin-tdep.c | 4 +-- gdb/i386-tdep.c | 4 +-- gdb/i387-tdep.c | 2 +- gdb/ia64-tdep.c | 28 ++++++++-------- gdb/infcall.c | 2 +- gdb/infcmd.c | 2 +- gdb/iq2000-tdep.c | 2 +- gdb/lm32-tdep.c | 2 +- gdb/loongarch-tdep.c | 2 +- gdb/m2-valprint.c | 4 +-- gdb/m32c-tdep.c | 2 +- gdb/m32r-tdep.c | 4 +-- gdb/m68hc11-tdep.c | 4 +-- gdb/m68k-tdep.c | 2 +- gdb/mep-tdep.c | 4 +-- gdb/mips-tdep.c | 10 +++--- gdb/mn10300-tdep.c | 2 +- gdb/msp430-tdep.c | 2 +- gdb/nds32-tdep.c | 2 +- gdb/nios2-tdep.c | 2 +- gdb/opencl-lang.c | 8 ++--- gdb/or1k-tdep.c | 6 ++-- gdb/p-valprint.c | 4 +-- gdb/ppc-sysv-tdep.c | 4 +-- gdb/printcmd.c | 10 +++--- gdb/python/py-inferior.c | 2 +- gdb/python/py-unwind.c | 4 +-- gdb/python/py-value.c | 4 +-- gdb/riscv-tdep.c | 6 ++-- gdb/rl78-tdep.c | 2 +- gdb/rs6000-aix-tdep.c | 14 ++++---- gdb/rs6000-lynx178-tdep.c | 12 +++---- gdb/rust-lang.c | 8 ++--- gdb/rx-tdep.c | 4 +-- gdb/s390-tdep.c | 20 ++++++------ gdb/sh-tdep.c | 6 ++-- gdb/sparc-tdep.c | 4 +-- gdb/sparc64-tdep.c | 4 +-- gdb/stack.c | 4 +-- gdb/tic6x-tdep.c | 2 +- gdb/tilegx-tdep.c | 4 +-- gdb/v850-tdep.c | 2 +- gdb/valarith.c | 40 +++++++++++------------ gdb/valops.c | 46 +++++++++++++------------- gdb/valprint.c | 24 +++++++------- gdb/value.c | 68 +++++++++++++++++++----------------= ---- gdb/value.h | 55 +++++++++++++++---------------- gdb/vax-tdep.c | 2 +- gdb/xstormy16-tdep.c | 4 +-- gdb/xtensa-tdep.c | 4 +-- 84 files changed, 330 insertions(+), 329 deletions(-) diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c index 1a6fdbebc76..0aaa746760e 100644 --- a/gdb/aarch64-tdep.c +++ b/gdb/aarch64-tdep.c @@ -1622,7 +1622,7 @@ pass_in_x (struct gdbarch *gdbarch, struct regcache *= regcache, int len =3D type->length (); enum type_code typecode =3D type->code (); int regnum =3D AARCH64_X0_REGNUM + info->ngrn; - const bfd_byte *buf =3D value_contents (arg).data (); + const bfd_byte *buf =3D arg->contents ().data (); =20 info->argnum++; =20 @@ -1692,7 +1692,7 @@ static void pass_on_stack (struct aarch64_call_info *info, struct type *type, struct value *arg) { - const bfd_byte *buf =3D value_contents (arg).data (); + const bfd_byte *buf =3D arg->contents ().data (); int len =3D type->length (); int align; stack_item_t item; @@ -1769,12 +1769,12 @@ pass_in_v_vfp_candidate (struct gdbarch *gdbarch, s= truct 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; =20 case TYPE_CODE_COMPLEX: { - const bfd_byte *buf =3D value_contents (arg).data (); + const bfd_byte *buf =3D arg->contents ().data (); struct type *target_type =3D check_typedef (arg_type->target_type ()); =20 if (!pass_in_v (gdbarch, regcache, info, target_type->length (), @@ -1788,7 +1788,7 @@ pass_in_v_vfp_candidate (struct gdbarch *gdbarch, str= uct 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. */ =20 case TYPE_CODE_STRUCT: @@ -1930,7 +1930,7 @@ aarch64_push_dummy_call (struct gdbarch *gdbarch, str= uct value *function, sp =3D align_down (sp - len, 16); =20 /* Write the real data into the stack. */ - write_memory (sp, value_contents (arg).data (), len); + write_memory (sp, arg->contents ().data (), len); =20 /* Construct the indirection. */ arg_type =3D lookup_pointer_type (arg_type); diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 7f962200a1f..c11182a5a0f 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -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 =3D value_contents_for_printing (arr).data (); + const gdb_byte *valaddr =3D arr->contents_for_printing ().data (); CORE_ADDR address =3D arr->address (); gdb::array_view view =3D gdb::make_array_view (valaddr, type->length ()); @@ -2773,7 +2773,7 @@ ada_value_primitive_packed_val (struct value *obj, co= nst gdb_byte *valaddr, if (obj =3D=3D NULL) src =3D valaddr + offset; else - src =3D value_contents (obj).data () + offset; + src =3D obj->contents ().data () + offset; =20 if (is_dynamic_type (type)) { @@ -2823,7 +2823,7 @@ ada_value_primitive_packed_val (struct value *obj, co= nst gdb_byte *valaddr, else { v =3D value::allocate (type); - src =3D value_contents (obj).data () + offset; + src =3D obj->contents ().data () + offset; } =20 if (obj !=3D 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 =3D 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); =20 val =3D value_copy (toval); memcpy (val->contents_raw ().data (), - value_contents (fromval).data (), + fromval->contents ().data (), type->length ()); val->deprecated_set_type (type); =20 @@ -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); } =20 /* Determine if TYPE is an access to an unconstrained array. */ @@ -4358,7 +4358,7 @@ ensure_lval (struct value *val) =20 VALUE_LVAL (val) =3D lval_memory; val->set_address (addr); - write_memory (addr, value_contents (val).data (), len); + write_memory (addr, val->contents ().data (), len); } =20 return val; @@ -4529,7 +4529,7 @@ ada_convert_actual (struct value *actual, struct type= *formal_type0) =20 actual_type =3D ada_check_typedef (actual->type ()); val =3D value::allocate (actual_type); - copy (value_contents (actual), val->contents_raw ()); + copy (actual->contents (), val->contents_raw ()); actual =3D ensure_lval (val); } result =3D value_addr (actual); @@ -6924,7 +6924,7 @@ ada_value_primitive_field (struct value *arg1, int of= fset, int fieldno, int bit_size =3D TYPE_FIELD_BITSIZE (arg_type, fieldno); =20 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_A= DDR 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 ()); } =20 return value_from_contents_and_address (type, 0, address); @@ -9290,7 +9290,7 @@ ada_promote_array_of_integrals (struct type *type, st= ruct value *val) struct value *elt =3D value_cast (elt_type, value_subscript (val, lo= + i)); int elt_len =3D elt_type->length (); =20 - 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= )); } =20 return res; @@ -9436,8 +9436,8 @@ ada_value_equal (struct value *arg1, struct value *ar= g2) representations use all bits (no padding or undefined bits) and do not have user-defined equality. */ return (arg1_type->length () =3D=3D arg2_type->length () - && memcmp (value_contents (arg1).data (), - value_contents (arg2).data (), + && memcmp (arg1->contents ().data (), + arg2->contents ().data (), arg1_type->length ()) =3D=3D 0); } return value_equal (arg1, arg2); diff --git a/gdb/ada-tasks.c b/gdb/ada-tasks.c index 671ad7af603..b14d159df14 100644 --- a/gdb/ada-tasks.c +++ b/gdb/ada-tasks.c @@ -430,7 +430,7 @@ iterate_over_live_ada_tasks (ada_task_list_iterator_fty= pe 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] =3D '\0'; } =20 diff --git a/gdb/ada-valprint.c b/gdb/ada-valprint.c index 491346b450d..a56c8a1de81 100644 --- a/gdb/ada-valprint.c +++ b/gdb/ada-valprint.c @@ -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 =3D ada_check_typedef (val->type ()); - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); =20 if (type->code () =3D=3D TYPE_CODE_RANGE && (type->target_type ()->code () =3D=3D TYPE_CODE_ENUM @@ -839,7 +839,7 @@ ada_val_print_enum (struct value *value, struct ui_file= *stream, int recurse, } =20 struct type *type =3D ada_check_typedef (value->type ()); - const gdb_byte *valaddr =3D value_contents_for_printing (value).data (); + const gdb_byte *valaddr =3D value->contents_for_printing ().data (); int offset_aligned =3D ada_aligned_value_addr (type, valaddr) - valaddr; =20 len =3D type->num_fields (); @@ -907,7 +907,7 @@ ada_value_print_array (struct value *val, struct ui_fil= e *stream, int recurse, if (ada_is_string_type (type) && (options->format =3D=3D 0 || options->format =3D=3D 's')) { - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (= ); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); int offset_aligned =3D ada_aligned_value_addr (type, valaddr) - vala= ddr; =20 ada_val_print_string (type, valaddr, offset_aligned, stream, recurse, @@ -922,7 +922,7 @@ ada_value_print_array (struct value *val, struct ui_fil= e *stream, int recurse, val_print_optimized_out (val, stream); else if (TYPE_FIELD_BITSIZE (type, 0) > 0) { - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (= ); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); int offset_aligned =3D ada_aligned_value_addr (type, valaddr) - vala= ddr; 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_f= ile *stream, int recurse, type =3D val->type (); struct type *saved_type =3D type; =20 - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); CORE_ADDR address =3D val->address (); gdb::array_view view =3D gdb::make_array_view (valaddr, type->length ()); diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index 5edde7abcae..0d51ff73b3d 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -253,7 +253,7 @@ alpha_register_to_value (frame_info_ptr frame, int regn= um, /* Convert to VALTYPE. */ =20 gdb_assert (valtype->length () =3D=3D 4); - alpha_sts (gdbarch, out, value_contents_all (value).data ()); + alpha_sts (gdbarch, out, value->contents_all ().data ()); =20 release_value (value); return 1; @@ -360,7 +360,7 @@ alpha_push_dummy_call (struct gdbarch *gdbarch, struct = value *function, sp =3D (sp & -16) - 16; =20 /* Write the real data into the stack. */ - write_memory (sp, value_contents (arg).data (), 16); + write_memory (sp, arg->contents ().data (), 16); =20 /* Construct the indirection. */ arg_type =3D lookup_pointer_type (arg_type); @@ -381,7 +381,7 @@ alpha_push_dummy_call (struct gdbarch *gdbarch, struct = value *function, sp =3D (sp & -16) - 16; =20 /* Write the real data into the stack. */ - write_memory (sp, value_contents (arg).data (), 32); + write_memory (sp, arg->contents ().data (), 32); =20 /* Construct the indirection. */ arg_type =3D lookup_pointer_type (arg_type); @@ -395,7 +395,7 @@ alpha_push_dummy_call (struct gdbarch *gdbarch, struct = value *function, m_arg->len =3D arg_type->length (); m_arg->offset =3D accumulate_size; accumulate_size =3D (accumulate_size + m_arg->len + 7) & ~7; - m_arg->contents =3D value_contents (arg).data (); + m_arg->contents =3D arg->contents ().data (); } =20 /* Determine required argument register loads, loading an argument regis= ter diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c index 085e5327a75..9c4a90287bc 100644 --- a/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c @@ -995,7 +995,7 @@ if (return_method =3D=3D return_method_struct) else { /* The argument will be passed in registers. */ - const gdb_byte *valbuf =3D value_contents (args[i]).data (); + const gdb_byte *valbuf =3D args[i]->contents ().data (); gdb_byte buf[8]; =20 gdb_assert (len <=3D 16); @@ -1047,7 +1047,7 @@ if (return_method =3D=3D return_method_struct) for (i =3D 0; i < num_stack_args; i++) { struct type *type =3D stack_args[i]->type (); - const gdb_byte *valbuf =3D value_contents (stack_args[i]).data (); + const gdb_byte *valbuf =3D stack_args[i]->contents ().data (); int len =3D type->length (); =20 write_memory (sp + element * 8, valbuf, len); diff --git a/gdb/amd64-windows-tdep.c b/gdb/amd64-windows-tdep.c index 7a7fbbb9859..07df64bed60 100644 --- a/gdb/amd64-windows-tdep.c +++ b/gdb/amd64-windows-tdep.c @@ -179,7 +179,7 @@ amd64_windows_adjust_args_passed_by_pointer (struct val= ue **args, if (amd64_windows_passed_by_pointer (args[i]->type ())) { struct type *type =3D args[i]->type (); - const gdb_byte *valbuf =3D value_contents (args[i]).data (); + const gdb_byte *valbuf =3D args[i]->contents ().data (); const int len =3D type->length (); =20 /* Store a copy of that argument on the stack, aligned to @@ -205,7 +205,7 @@ amd64_windows_store_arg_in_reg (struct regcache *regcac= he, struct value *arg, int regno) { struct type *type =3D arg->type (); - const gdb_byte *valbuf =3D value_contents (arg).data (); + const gdb_byte *valbuf =3D arg->contents ().data (); gdb_byte buf[8]; =20 gdb_assert (type->length () <=3D 8); @@ -295,7 +295,7 @@ amd64_windows_push_arguments (struct regcache *regcache= , int nargs, for (i =3D 0; i < num_stack_args; i++) { struct type *type =3D stack_args[i]->type (); - const gdb_byte *valbuf =3D value_contents (stack_args[i]).data (); + const gdb_byte *valbuf =3D stack_args[i]->contents ().data (); =20 write_memory (sp + element * 8, valbuf, type->length ()); element +=3D ((type->length () + 7) / 8); diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c index f42abc2ec42..bbdcb8d4ce6 100644 --- a/gdb/arc-tdep.c +++ b/gdb/arc-tdep.c @@ -779,9 +779,9 @@ arc_push_dummy_call (struct gdbarch *gdbarch, struct va= lue *function, unsigned int len =3D args[i]->type ()->length (); unsigned int space =3D align_up (len, 4); =20 - 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); =20 data +=3D space; diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index bf38880c247..03df41a64b3 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -4682,7 +4682,7 @@ arm_push_dummy_call (struct gdbarch *gdbarch, struct = value *function, len =3D arg_type->length (); target_type =3D arg_type->target_type (); typecode =3D arg_type->code (); - val =3D value_contents (args[argnum]).data (); + val =3D args[argnum]->contents ().data (); =20 align =3D type_align (arg_type); /* Round alignment up to a whole number of words. */ diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index 023ebc37efb..ba98fbf6f82 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -1299,7 +1299,7 @@ avr_push_dummy_call (struct gdbarch *gdbarch, struct = value *function, int j; struct value *arg =3D args[i]; struct type *type =3D check_typedef (arg->type ()); - const bfd_byte *contents =3D value_contents (arg).data (); + const bfd_byte *contents =3D arg->contents ().data (); int len =3D type->length (); =20 /* Calculate the potential last register needed. diff --git a/gdb/bfin-tdep.c b/gdb/bfin-tdep.c index e1be4b77071..4b9067a2d0f 100644 --- a/gdb/bfin-tdep.c +++ b/gdb/bfin-tdep.c @@ -530,7 +530,7 @@ bfin_push_dummy_call (struct gdbarch *gdbarch, int container_len =3D align_up (arg_type->length (), 4); =20 sp -=3D container_len; - write_memory (sp, value_contents (args[i]).data (), container_len); + write_memory (sp, args[i]->contents ().data (), container_len); } =20 /* Initialize R0, R1, and R2 to the first 3 words of parameters. */ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index de2bb56cadf..752b28778bc 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -1869,7 +1869,7 @@ extract_bitfield_from_watchpoint_value (struct watchp= oint *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); =20 diff --git a/gdb/c-lang.c b/gdb/c-lang.c index ec2e06027d2..e4027d8ee96 100644 --- a/gdb/c-lang.c +++ b/gdb/c-lang.c @@ -301,7 +301,7 @@ c_get_string (struct value *value, gdb::unique_xmalloc_= ptr *buffer, && (*length < 0 || *length <=3D fetchlimit)) { int i; - const gdb_byte *contents =3D value_contents (value).data (); + const gdb_byte *contents =3D value->contents ().data (); =20 /* If a length is specified, use that. */ if (*length >=3D 0) diff --git a/gdb/c-valprint.c b/gdb/c-valprint.c index 63f3e50d350..55ba02996f3 100644 --- a/gdb/c-valprint.c +++ b/gdb/c-valprint.c @@ -237,7 +237,7 @@ c_value_print_array (struct value *val, { struct type *type =3D check_typedef (val->type ()); CORE_ADDR address =3D val->address (); - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); struct type *unresolved_elttype =3D type->target_type (); struct type *elttype =3D check_typedef (unresolved_elttype); =20 @@ -334,7 +334,7 @@ c_value_print_ptr (struct value *val, struct ui_file *s= tream, int recurse, } =20 struct type *type =3D check_typedef (val->type ()); - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); =20 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 =3D type->field (VTBL_FNADDR_OFFSET).loc_bitpos () / 8; struct type *field_type =3D type->field (VTBL_FNADDR_OFFSET).type (); - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (= ); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); CORE_ADDR addr =3D extract_typed_address (valaddr + offset, field_ty= pe); =20 print_function_pointer_address (options, type->arch (), addr, stream= ); @@ -406,7 +406,7 @@ c_value_print_int (struct value *val, struct ui_file *s= tream, intended to be used as an integer or a character, print the character equivalent as well. */ struct type *type =3D val->type (); - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (= ); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); if (c_textual_element_type (type, options->format)) { gdb_puts (" ", stream); diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c index ce4bf6bc9cd..871785d8886 100644 --- a/gdb/cli/cli-cmds.c +++ b/gdb/cli/cli-cmds.c @@ -2196,7 +2196,7 @@ setting_cmd (const char *fnname, struct cmd_list_elem= ent *showlist, && type0->code () !=3D TYPE_CODE_STRING) error (_("First argument of %s must be a string."), fnname); =20 - const char *a0 =3D (const char *) value_contents (argv[0]).data (); + const char *a0 =3D (const char *) argv[0]->contents ().data (); cmd_list_element *cmd =3D lookup_cmd (&a0, showlist, "", NULL, -1, 0); =20 if (cmd =3D=3D nullptr || cmd->type !=3D show_cmd) diff --git a/gdb/cli/cli-dump.c b/gdb/cli/cli-dump.c index 1e0051757f6..769f6a589b6 100644 --- a/gdb/cli/cli-dump.c +++ b/gdb/cli/cli-dump.c @@ -224,7 +224,7 @@ dump_value_to_file (const char *cmd, const char *mode, = const char *file_format) =20 /* Have everything. Open/write the data. */ if (file_format =3D=3D NULL || strcmp (file_format, "binary") =3D=3D 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) } =20 dump_bfd_file (filename.get (), mode, file_format, vaddr, - value_contents (val).data (),=20 + val->contents ().data (),=20 val->type ()->length ()); } } diff --git a/gdb/compile/compile-object-load.c b/gdb/compile/compile-object= -load.c index 83b97f13105..af4f6e2c2ef 100644 --- a/gdb/compile/compile-object-load.c +++ b/gdb/compile/compile-object-load.c @@ -585,7 +585,7 @@ store_regs (struct type *regs_type, CORE_ADDR regs_base) =20 inferior_addr =3D regs_base + reg_offset; if (0 !=3D 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)); diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c index 5f18d372aa3..687be9d4bd6 100644 --- a/gdb/cp-valprint.c +++ b/gdb/cp-valprint.c @@ -189,7 +189,7 @@ cp_print_value_fields (struct value *val, struct ui_fil= e *stream, vptr_fieldno =3D get_vptr_fieldno (type, &vptr_basetype); for (i =3D n_baseclasses; i < len; i++) { - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); =20 /* 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 *stre= am, =3D (struct type **) obstack_next_free (&dont_print_vb_obstack); struct obstack tmp_obstack =3D dont_print_vb_obstack; int i, n_baseclasses =3D TYPE_N_BASECLASSES (type); - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); =20 if (dont_print_vb =3D=3D 0) { diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c index cc8d7634c9d..af8fb95a5d2 100644 --- a/gdb/cris-tdep.c +++ b/gdb/cris-tdep.c @@ -822,7 +822,7 @@ cris_push_dummy_call (struct gdbarch *gdbarch, struct v= alue *function, int i; =20 len =3D args[argnum]->type ()->length (); - val =3D value_contents (args[argnum]).data (); + val =3D args[argnum]->contents ().data (); =20 /* How may registers worth of storage do we need for this argument? = */ reg_demand =3D (len / 4) + (len % 4 !=3D 0 ? 1 : 0); diff --git a/gdb/csky-tdep.c b/gdb/csky-tdep.c index 9fa1fb37154..8fd68bab7a6 100644 --- a/gdb/csky-tdep.c +++ b/gdb/csky-tdep.c @@ -808,7 +808,7 @@ csky_push_dummy_call (struct gdbarch *gdbarch, struct v= alue *function, =20 arg_type =3D check_typedef (args[argnum]->type ()); len =3D arg_type->length (); - val =3D value_contents (args[argnum]).data (); + val =3D args[argnum]->contents ().data (); =20 /* Copy the argument to argument registers or the dummy stack. Large arguments are split between registers and stack. diff --git a/gdb/d-valprint.c b/gdb/d-valprint.c index 173623ea028..b5e981874c1 100644 --- a/gdb/d-valprint.c +++ b/gdb/d-valprint.c @@ -48,7 +48,7 @@ dynamic_array_type (struct type *type, struct type *ptr_type; struct value *ival; int length; - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (= ); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); =20 length =3D unpack_field_as_long (type, valaddr + embedded_offset, 0); =20 diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c index f2a1305713a..a1119e16c23 100644 --- a/gdb/dwarf2/expr.c +++ b/gdb/dwarf2/expr.c @@ -156,7 +156,7 @@ rw_pieced_value (value *v, value *from, bool check_opti= mized) gdb_assert (!check_optimized || from =3D=3D nullptr); if (from !=3D nullptr) { - from_contents =3D value_contents (from).data (); + from_contents =3D from->contents ().data (); v_contents =3D nullptr; } else @@ -377,7 +377,7 @@ rw_pieced_value (value *v, value *from, bool check_opti= mized) bits_to_skip +=3D p->offset; =20 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 =3D gdbarch_byte_order (get_frame_arch (frame)); LONGEST byte_offset - =3D extract_signed_integer (value_contents (value), byte_order); + =3D extract_signed_integer (value->contents (), byte_order); byte_offset +=3D piece->v.ptr.offset; =20 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) =3D=3D BFD_ENDIAN_BIG) subobj_offset +=3D n - max; =20 - 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; =20 dwarf_require_integral (result_val->type ()); - result =3D extract_unsigned_integer (value_contents (result_val), byte_o= rder); + result =3D extract_unsigned_integer (result_val->contents (), byte_order= ); =20 /* 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 =3D value_from_contents (type, - value_contents_all (result_val).data ()); + result_val->contents_all ().data ()); } break; =20 diff --git a/gdb/eval.c b/gdb/eval.c index 74ce57ac70c..dca98d07fbe 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -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 ()); =20 } @@ -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++; } diff --git a/gdb/f-lang.c b/gdb/f-lang.c index 10c46fa0c29..f883b08e2ae 100644 --- a/gdb/f-lang.c +++ b/gdb/f-lang.c @@ -778,7 +778,7 @@ eval_op_f_abs (struct type *expect_type, struct express= ion *exp, case TYPE_CODE_FLT: { double d - =3D fabs (target_float_to_host_double (value_contents (arg1).data (), + =3D 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 expre= ssion *exp, case TYPE_CODE_FLT: { double d1 - =3D target_float_to_host_double (value_contents (arg1).data (), + =3D target_float_to_host_double (arg1->contents ().data (), arg1->type ()); double d2 - =3D target_float_to_host_double (value_contents (arg2).data (), + =3D target_float_to_host_double (arg2->contents ().data (), arg2->type ()); double d3 =3D 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 () !=3D TYPE_CODE_FLT) error (_("argument to CEILING must be of type float")); - double val =3D target_float_to_host_double (value_contents (arg1).data (= ), + double val =3D target_float_to_host_double (arg1->contents ().data (), arg1->type ()); val =3D 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 () !=3D TYPE_CODE_FLT) error (_("argument to FLOOR must be of type float")); - double val =3D target_float_to_host_double (value_contents (arg1).data (= ), + double val =3D target_float_to_host_double (arg1->contents ().data (), arg1->type ()); val =3D floor (val); return value_from_longest (result_type, val); @@ -933,10 +933,10 @@ eval_op_f_modulo (struct type *expect_type, struct ex= pression *exp, case TYPE_CODE_FLT: { double a - =3D target_float_to_host_double (value_contents (arg1).data (), + =3D target_float_to_host_double (arg1->contents ().data (), arg1->type ()); double p - =3D target_float_to_host_double (value_contents (arg2).data (), + =3D target_float_to_host_double (arg2->contents ().data (), arg2->type ()); double result =3D fmod (a, p); if (result !=3D 0 && (a < 0.0) !=3D (p < 0.0)) @@ -1473,7 +1473,7 @@ fortran_undetermined::value_subarray (value *array, array->address () + total_offset); else array =3D 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 *ex= pect_type, struct type *elt_type =3D elt->type (); if (is_dynamic_type (elt_type)) { - const gdb_byte *valaddr =3D value_contents_for_printing (elt).data (); + const gdb_byte *valaddr =3D elt->contents_for_printing ().data (); CORE_ADDR address =3D elt->address (); gdb::array_view view =3D gdb::make_array_view (valaddr, elt_type->length ()); @@ -1878,9 +1878,9 @@ fortran_argument_convert (struct value *value, bool i= s_artificial) const int length =3D type->length (); const CORE_ADDR addr =3D 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 =3D value_from_contents_and_address - (type, value_contents (value).data (), addr); + (type, value->contents ().data (), addr); return value_addr (val); } else diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c index 4fbda5dc78e..824a303fdc4 100644 --- a/gdb/f-valprint.c +++ b/gdb/f-valprint.c @@ -456,7 +456,7 @@ f_language::value_print_inner (struct value *val, struc= t ui_file *stream, struct type *elttype; CORE_ADDR addr; int index; - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); const CORE_ADDR address =3D val->address (); =20 switch (type->code ()) diff --git a/gdb/findcmd.c b/gdb/findcmd.c index 42604b1e85e..16a5fdd525b 100644 --- a/gdb/findcmd.c +++ b/gdb/findcmd.c @@ -185,7 +185,7 @@ parse_find_args (const char *args, ULONGEST *max_countp, } else { - const gdb_byte *contents =3D value_contents (v).data (); + const gdb_byte *contents =3D v->contents ().data (); pattern_buf.insert (pattern_buf.end (), contents, contents + t->length ()); } diff --git a/gdb/frame.c b/gdb/frame.c index 834adc318ac..628b18d6708 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -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_fram= e, int regnum) else { int i; - gdb::array_view buf =3D value_contents (value); + gdb::array_view buf =3D value->contents (); =20 gdb_printf (&debug_file, " bytes=3D"); gdb_printf (&debug_file, "["); @@ -1353,7 +1353,7 @@ frame_unwind_register_signed (frame_info_ptr next_fra= me, int regnum) _("Register %d is not available"), regnum); } =20 - LONGEST r =3D extract_signed_integer (value_contents_all (value), byte_o= rder); + LONGEST r =3D extract_signed_integer (value->contents_all (), byte_order= ); =20 release_value (value); return r; @@ -1386,7 +1386,7 @@ frame_unwind_register_unsigned (frame_info_ptr next_f= rame, int regnum) _("Register %d is not available"), regnum); } =20 - ULONGEST r =3D extract_unsigned_integer (value_contents_all (value).data= (), + ULONGEST r =3D extract_unsigned_integer (value->contents_all ().data (), size, byte_order); =20 release_value (value); @@ -1412,7 +1412,7 @@ read_frame_register_unsigned (frame_info_ptr frame, i= nt regnum, enum bfd_endian byte_order =3D gdbarch_byte_order (gdbarch); int size =3D register_size (gdbarch, VALUE_REGNUM (regval)); =20 - *val =3D extract_unsigned_integer (value_contents (regval).data (), = size, + *val =3D extract_unsigned_integer (regval->contents ().data (), size, byte_order); return true; } @@ -1546,7 +1546,7 @@ get_frame_register_bytes (frame_info_ptr frame, int r= egnum, return false; } =20 - memcpy (myaddr, value_contents_all (value).data () + offset, + memcpy (myaddr, value->contents_all ().data () + offset, curr_len); release_value (value); } diff --git a/gdb/frv-tdep.c b/gdb/frv-tdep.c index e9c9a9cd392..6c6050a919a 100644 --- a/gdb/frv-tdep.c +++ b/gdb/frv-tdep.c @@ -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 =3D extract_unsigned_integer - (value_contents (arg).data (), 4, byte_order); + (arg->contents ().data (), 4, byte_order); addr =3D find_func_descr (gdbarch, addr); store_unsigned_integer (valbuf, 4, byte_order, addr); typecode =3D TYPE_CODE_PTR; @@ -1260,7 +1260,7 @@ frv_push_dummy_call (struct gdbarch *gdbarch, struct = value *function, } else { - val =3D value_contents (arg).data (); + val =3D arg->contents ().data (); } =20 while (len > 0) diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index ff8de6b2b49..73ccd1cf3f8 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -4007,7 +4007,7 @@ is_unique_ancestor (struct type *base, struct value *= val) int offset =3D -1; =20 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) =3D=3D 1; } diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c index 2fa40085f49..6d1a36623f8 100644 --- a/gdb/gnu-v3-abi.c +++ b/gdb/gnu-v3-abi.c @@ -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 =3D value_contents (method_ptr).data (); + const gdb_byte *contents =3D method_ptr->contents ().data (); CORE_ADDR ptr_value; struct type *self_type, *final_type, *method_type; LONGEST adjustment; diff --git a/gdb/go-valprint.c b/gdb/go-valprint.c index 8f6c8849fd9..05788af15a6 100644 --- a/gdb/go-valprint.c +++ b/gdb/go-valprint.c @@ -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 =3D value_contents_for_printing (val).data (); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); =20 =20 if (! unpack_value_field_as_long (type, valaddr, embedded_offset, 0, diff --git a/gdb/guile/scm-value.c b/gdb/guile/scm-value.c index 09b1ce30024..df76f8a49d1 100644 --- a/gdb/guile/scm-value.c +++ b/gdb/guile/scm-value.c @@ -828,7 +828,7 @@ gdbscm_value_to_bytevector (SCM self) { type =3D check_typedef (type); length =3D type->length (); - contents =3D value_contents (value).data (); + contents =3D value->contents ().data (); } catch (const gdb_exception &except) { @@ -978,7 +978,7 @@ gdbscm_value_to_real (SCM self) { if (is_floating_value (value)) { - d =3D target_float_to_host_double (value_contents (value).data (), + d =3D target_float_to_host_double (value->contents ().data (), type); check =3D value_from_host_double (type, d); } diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index d53b6857ba5..d1494916f59 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -647,7 +647,7 @@ h8300_push_dummy_call (struct gdbarch *gdbarch, struct = value *function, { struct type *type =3D args[argument]->type (); int len =3D type->length (); - char *contents =3D (char *) value_contents (args[argument]).data (); + char *contents =3D (char *) args[argument]->contents ().data (); =20 /* Pad the argument appropriately. */ int padded_len =3D align_up (len, wordsize); diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index 08fea0c091b..d054e8011e8 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -745,7 +745,7 @@ hppa32_push_dummy_call (struct gdbarch *gdbarch, struct= value *function, struct_ptr +=3D 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, stru= ct value *function, param_len =3D 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 () =3D=3D TYPE_CODE_FLT) { /* Floating point value store, right aligned. */ param_len =3D 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, =20 /* 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 ()); =20 /* 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, stru= ct 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, stru= ct value *function, { ULONGEST codeptr, fptr; =20 - codeptr =3D unpack_long (type, value_contents (arg).data ()); + codeptr =3D unpack_long (type, arg->contents ().data ()); fptr =3D 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, stru= ct value *function, } else { - valbuf =3D value_contents (arg).data (); + valbuf =3D arg->contents ().data (); } =20 /* 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); =20 - pc =3D extract_unsigned_integer (value_contents_all (pcoq_val).data = (), + pc =3D extract_unsigned_integer (pcoq_val->contents_all ().data (), size, byte_order); return frame_unwind_got_constant (this_frame, regnum, pc + 4); } diff --git a/gdb/i386-darwin-tdep.c b/gdb/i386-darwin-tdep.c index abf68ef7c39..34de8e72918 100644 --- a/gdb/i386-darwin-tdep.c +++ b/gdb/i386-darwin-tdep.c @@ -189,7 +189,7 @@ i386_darwin_push_dummy_call (struct gdbarch *gdbarch, s= truct value *function, { if (write_pass) { - const gdb_byte *val =3D value_contents_all (args[i]).data (); + const gdb_byte *val =3D 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, s= truct 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 ()); =20 /* The System V ABI says that: diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 94ec1cc3fee..ed61ee1a9b3 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -2733,7 +2733,7 @@ i386_thiscall_push_dummy_call (struct gdbarch *gdbarc= h, struct value *function, args_space_used =3D align_up (args_space_used, 16); =20 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: =20 "An argument's size is increased, if necessary, to make it a @@ -2778,7 +2778,7 @@ i386_thiscall_push_dummy_call (struct gdbarch *gdbarc= h, 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 ()); =20 /* 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. diff --git a/gdb/i387-tdep.c b/gdb/i387-tdep.c index 04bbf71952b..e1cbab580eb 100644 --- a/gdb/i387-tdep.c +++ b/gdb/i387-tdep.c @@ -284,7 +284,7 @@ i387_print_float_info (struct gdbarch *gdbarch, struct = ui_file *file, =20 if (value_entirely_available (regval)) { - const gdb_byte *raw =3D value_contents (regval).data (); + const gdb_byte *raw =3D regval->contents ().data (); =20 gdb_puts ("0x", file); for (i =3D 9; i >=3D 0; i--) diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index 7f09ce4b835..f714c98d8d4 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -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 =3D ia64_frame_prev_register (this_frame, this_cache, IA64_CFM_R= EGNUM); - prev_cfm =3D extract_unsigned_integer (value_contents_all (val).data= (), + prev_cfm =3D extract_unsigned_integer (val->contents_all ().data (), 8, byte_order); bsp =3D rse_address_add (cache->bsp, -(cache->sof)); prev_bsp =3D @@ -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 =3D VP16_REGNUM + ((regnum - VP16_REGNUM) + rrb_pr) % 48; } - prN =3D extract_bit_field (value_contents_all (pr_val).data (), + prN =3D 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 =3D ia64_frame_prev_register (this_frame, this_cache, IA64_UNAT_REGNUM); - unatN =3D extract_bit_field (value_contents_all (unat_val).data (), + unatN =3D 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 =3D ia64_frame_prev_register (this_frame, this_cache, IA64_CFM_REGNUM); prev_cfm =3D extract_unsigned_integer - (value_contents_all (reg_val).data (), 8, byte_order); + (reg_val->contents_all ().data (), 8, byte_order); reg_val =3D ia64_frame_prev_register (this_frame, this_cache, IA64_BSP_REGNUM); prev_bsp =3D extract_unsigned_integer - (value_contents_all (reg_val).data (), 8, byte_order); + (reg_val->contents_all ().data (), 8, byte_order); prev_bof =3D rse_address_add (prev_bsp, -(prev_cfm & 0x7f)); =20 addr =3D rse_address_add (prev_bof, (regnum - IA64_GR32_REGNUM)); @@ -2957,7 +2957,7 @@ ia64_libunwind_frame_prev_register (frame_info_ptr th= is_frame, /* Adjust the register number to account for register rotation. */ regnum =3D VP16_REGNUM + ((regnum - VP16_REGNUM) + rrb_pr) % 48; } - prN_val =3D extract_bit_field (value_contents_all (val).data (), + prN_val =3D 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 th= is_frame, { ULONGEST unatN_val; =20 - unatN_val =3D extract_bit_field (value_contents_all (val).data (), + unatN_val =3D 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 =3D extract_unsigned_integer (value_contents_all (val).data= (), + prev_bsp =3D extract_unsigned_integer (val->contents_all ().data (), 8, byte_order); cfm_val =3D libunwind_frame_prev_register (this_frame, this_cache, IA64_CFM_REGNUM); - prev_cfm =3D extract_unsigned_integer (value_contents_all (cfm_val).= data (), + prev_cfm =3D extract_unsigned_integer (cfm_val->contents_all ().data= (), 8, byte_order); prev_bsp =3D rse_address_add (prev_bsp, (prev_cfm & 0x7f)); =20 @@ -3068,7 +3068,7 @@ ia64_libunwind_sigtramp_frame_prev_register (frame_in= fo_ptr this_frame, method of getting previous registers. */ prev_ip_val =3D libunwind_frame_prev_register (this_frame, this_cache, IA64_IP_REGNUM); - prev_ip =3D extract_unsigned_integer (value_contents_all (prev_ip_val).d= ata (), + prev_ip =3D extract_unsigned_integer (prev_ip_val->contents_all ().data = (), 8, byte_order); =20 if (prev_ip =3D=3D 0) @@ -3750,7 +3750,7 @@ ia64_push_dummy_call (struct gdbarch *gdbarch, struct= value *function, { gdb_byte val_buf[8]; ULONGEST faddr =3D 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); } =20 @@ -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); diff --git a/gdb/infcall.c b/gdb/infcall.c index 05ae1638857..d6992228498 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -1130,7 +1130,7 @@ call_function_by_hand_dummy (struct value *function, if (info.trivially_copy_constructible) { int length =3D param_type->length (); - write_memory (addr, value_contents (args[i]).data (), length); + write_memory (addr, args[i]->contents ().data (), length); } else { diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 32d30c2a3e8..50378b111c0 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -2181,7 +2181,7 @@ default_print_one_register_info (struct ui_file *file, || regtype->code () =3D=3D TYPE_CODE_DECFLOAT) { struct value_print_options opts; - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (= ); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); enum bfd_endian byte_order =3D type_byte_order (regtype); =20 get_user_print_options (&opts); diff --git a/gdb/iq2000-tdep.c b/gdb/iq2000-tdep.c index f2af69e46cd..d4509f93b74 100644 --- a/gdb/iq2000-tdep.c +++ b/gdb/iq2000-tdep.c @@ -711,7 +711,7 @@ iq2000_push_dummy_call (struct gdbarch *gdbarch, struct= value *function, { type =3D args[i]->type (); typelen =3D type->length (); - val =3D value_contents (args[i]).data (); + val =3D args[i]->contents ().data (); if (typelen <=3D 4) { /* Char, short, int, float, pointer, and structs <=3D four bytes. */ diff --git a/gdb/lm32-tdep.c b/gdb/lm32-tdep.c index 93e2ad940b5..23998f85dd8 100644 --- a/gdb/lm32-tdep.c +++ b/gdb/lm32-tdep.c @@ -260,7 +260,7 @@ lm32_push_dummy_call (struct gdbarch *gdbarch, struct v= alue *function, =20 /* FIXME: Handle structures. */ =20 - contents =3D (gdb_byte *) value_contents (arg).data (); + contents =3D (gdb_byte *) arg->contents ().data (); val =3D extract_unsigned_integer (contents, arg_type->length (), byte_order); =20 diff --git a/gdb/loongarch-tdep.c b/gdb/loongarch-tdep.c index f40a7b4912e..5f7a8a00ce7 100644 --- a/gdb/loongarch-tdep.c +++ b/gdb/loongarch-tdep.c @@ -565,7 +565,7 @@ loongarch_push_dummy_call (struct gdbarch *gdbarch, for (int i =3D 0; i < nargs; i++) { struct value *arg =3D args[i]; - const gdb_byte *val =3D value_contents (arg).data (); + const gdb_byte *val =3D arg->contents ().data (); struct type *type =3D check_typedef (arg->type ()); size_t len =3D type->length (); int align =3D type_align (type); diff --git a/gdb/m2-valprint.c b/gdb/m2-valprint.c index 73f9e37aee3..96a566fb810 100644 --- a/gdb/m2-valprint.c +++ b/gdb/m2-valprint.c @@ -165,7 +165,7 @@ m2_print_unbounded_array (struct value *value, struct value *val; =20 struct type *type =3D check_typedef (value->type ()); - const gdb_byte *valaddr =3D value_contents_for_printing (value).data (); + const gdb_byte *valaddr =3D value->contents_for_printing ().data (); =20 addr =3D unpack_pointer (type->field (0).type (), (type->field (0).loc_bitpos () / 8) + @@ -305,7 +305,7 @@ m2_language::value_print_inner (struct value *val, stru= ct ui_file *stream, unsigned len; struct type *elttype; CORE_ADDR addr; - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); const CORE_ADDR address =3D val->address (); =20 struct type *type =3D check_typedef (val->type ()); diff --git a/gdb/m32c-tdep.c b/gdb/m32c-tdep.c index 23add82ae90..2899c9aef90 100644 --- a/gdb/m32c-tdep.c +++ b/gdb/m32c-tdep.c @@ -2061,7 +2061,7 @@ m32c_push_dummy_call (struct gdbarch *gdbarch, struct= value *function, for (i =3D nargs - 1; i >=3D 0; i--) { struct value *arg =3D args[i]; - const gdb_byte *arg_bits =3D value_contents (arg).data (); + const gdb_byte *arg_bits =3D arg->contents ().data (); struct type *arg_type =3D arg->type (); ULONGEST arg_size =3D arg_type->length (); =20 diff --git a/gdb/m32r-tdep.c b/gdb/m32r-tdep.c index a1d2ad6da80..ba525998e0c 100644 --- a/gdb/m32r-tdep.c +++ b/gdb/m32r-tdep.c @@ -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 =3D valbuf; } else - val =3D (gdb_byte *) value_contents (args[argnum]).data (); + val =3D (gdb_byte *) args[argnum]->contents ().data (); =20 while (len > 0) { diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c index 86af4521edd..1257c55ce66 100644 --- a/gdb/m68hc11-tdep.c +++ b/gdb/m68hc11-tdep.c @@ -1177,7 +1177,7 @@ m68hc11_push_dummy_call (struct gdbarch *gdbarch, str= uct value *function, { ULONGEST v; =20 - v =3D extract_unsigned_integer (value_contents (args[0]).data (), + v =3D extract_unsigned_integer (args[0]->contents ().data (), type->length (), byte_order); first_stack_argnum =3D 1; =20 @@ -1201,7 +1201,7 @@ m68hc11_push_dummy_call (struct gdbarch *gdbarch, str= uct value *function, sp--; write_memory (sp, &zero, 1); } - val =3D value_contents (args[argnum]).data (); + val =3D args[argnum]->contents ().data (); sp -=3D type->length (); write_memory (sp, val, type->length ()); } diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c index e776060935c..cbd79765ab9 100644 --- a/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c @@ -559,7 +559,7 @@ m68k_push_dummy_call (struct gdbarch *gdbarch, struct v= alue *function, else offset =3D container_len - len; sp -=3D container_len; - write_memory (sp + offset, value_contents_all (args[i]).data (), len= ); + write_memory (sp + offset, args[i]->contents_all ().data (), len); } =20 /* Store struct value address. */ diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c index c70699d1c3d..fc786f09e44 100644 --- a/gdb/mep-tdep.c +++ b/gdb/mep-tdep.c @@ -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 =3D (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] =3D sp; } } @@ -2289,7 +2289,7 @@ mep_push_dummy_call (struct gdbarch *gdbarch, struct = value *function, =20 /* Arguments that fit in a GPR get expanded to fill the GPR. */ if (argv[i]->type ()->length () <=3D MEP_GPR_SIZE) - value =3D extract_unsigned_integer (value_contents (argv[i]).data (), + value =3D extract_unsigned_integer (argv[i]->contents ().data (), argv[i]->type ()->length (), byte_order); =20 diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 349a89eb23d..19e0fdcf81e 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -4612,7 +4612,7 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, s= truct value *function, gdb_printf (gdb_stdlog, " push"); } else - val =3D value_contents (arg).data (); + val =3D arg->contents ().data (); =20 /* 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=3D%d type=3D%d", argnum + 1, len, (int) typecode); =20 - val =3D value_contents (arg).data (); + val =3D arg->contents ().data (); =20 /* 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, st= ruct value *function, "mips_o32_push_dummy_call: %d len=3D%d type=3D%d", argnum + 1, len, (int) typecode); =20 - val =3D value_contents (arg).data (); + val =3D arg->contents ().data (); =20 /* 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, st= ruct value *function, "mips_o64_push_dummy_call: %d len=3D%d type=3D%d", argnum + 1, len, (int) typecode); =20 - val =3D value_contents (arg).data (); + val =3D arg->contents ().data (); =20 /* 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_in= fo_ptr frame, col++; continue; } - raw_buffer =3D value_contents_all (value).data (); + raw_buffer =3D value->contents_all ().data (); /* pad small registers */ for (byte =3D 0; byte < (mips_abi_regsize (gdbarch) diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c index aade7c3af07..f52b6990a60 100644 --- a/gdb/mn10300-tdep.c +++ b/gdb/mn10300-tdep.c @@ -1218,7 +1218,7 @@ mn10300_push_dummy_call (struct gdbarch *gdbarch, else { arg_len =3D (*args)->type ()->length (); - val =3D value_contents (*args).data (); + val =3D (*args)->contents ().data (); } =20 while (regs_used < 2 && arg_len > 0) diff --git a/gdb/msp430-tdep.c b/gdb/msp430-tdep.c index d4a40d4cd10..2768e4e3a21 100644 --- a/gdb/msp430-tdep.c +++ b/gdb/msp430-tdep.c @@ -689,7 +689,7 @@ msp430_push_dummy_call (struct gdbarch *gdbarch, struct= value *function, for (i =3D 0; i < nargs; i++) { struct value *arg =3D args[i]; - const gdb_byte *arg_bits =3D value_contents_all (arg).data (); + const gdb_byte *arg_bits =3D arg->contents_all ().data (); struct type *arg_type =3D check_typedef (arg->type ()); ULONGEST arg_size =3D arg_type->length (); int offset; diff --git a/gdb/nds32-tdep.c b/gdb/nds32-tdep.c index 858b72c2509..c65bc1a47c5 100644 --- a/gdb/nds32-tdep.c +++ b/gdb/nds32-tdep.c @@ -1470,7 +1470,7 @@ nds32_push_dummy_call (struct gdbarch *gdbarch, struc= t value *function, calling_use_fpr =3D nds32_check_calling_use_fpr (type); len =3D type->length (); align =3D type_align (type); - val =3D value_contents (args[i]).data (); + val =3D args[i]->contents ().data (); =20 /* The size of a composite type larger than 4 bytes will be rounded up to the nearest multiple of 4. */ diff --git a/gdb/nios2-tdep.c b/gdb/nios2-tdep.c index e7ec4552827..40d65b64b18 100644 --- a/gdb/nios2-tdep.c +++ b/gdb/nios2-tdep.c @@ -1839,7 +1839,7 @@ nios2_push_dummy_call (struct gdbarch *gdbarch, struc= t value *function, struct type *arg_type =3D check_typedef (arg->type ()); int len =3D arg_type->length (); =20 - val =3D value_contents (arg).data (); + val =3D arg->contents ().data (); =20 /* Copy the argument to general registers or the stack in register-sized pieces. Large arguments are split between diff --git a/gdb/opencl-lang.c b/gdb/opencl-lang.c index 81889b97e95..b3e82f4a6ae 100644 --- a/gdb/opencl-lang.c +++ b/gdb/opencl-lang.c @@ -140,7 +140,7 @@ lval_func_read (struct value *v) =20 for (i =3D 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); } =20 @@ -181,7 +181,7 @@ lval_func_write (struct value *v, struct value *fromval) struct value *to_elm_val =3D value_subscript (c->val, c->indices[i]); =20 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 *va= l, enum noside noside, for (i =3D 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 di= fferent sizes")); tmp =3D 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 ()); } =20 diff --git a/gdb/or1k-tdep.c b/gdb/or1k-tdep.c index d485d552102..0d520661f09 100644 --- a/gdb/or1k-tdep.c +++ b/gdb/or1k-tdep.c @@ -685,7 +685,7 @@ or1k_push_dummy_call (struct gdbarch *gdbarch, struct v= alue *function, heap_offset +=3D align_up (len, bpw); valaddr =3D heap_sp + heap_offset; =20 - write_memory (valaddr, value_contents (arg).data (), len); + write_memory (valaddr, arg->contents ().data (), len); } =20 /* The ABI passes all structures by reference, so get its @@ -697,7 +697,7 @@ or1k_push_dummy_call (struct gdbarch *gdbarch, struct v= alue *function, else { /* Everything else, we just get the value. */ - val =3D value_contents (arg).data (); + val =3D arg->contents ().data (); } =20 /* Stick the value in a register. */ @@ -797,7 +797,7 @@ or1k_push_dummy_call (struct gdbarch *gdbarch, struct v= alue *function, val =3D valbuf; } else - val =3D value_contents (arg).data (); + val =3D arg->contents ().data (); =20 while (len > 0) { diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c index 4b84ec1c43f..10d41523851 100644 --- a/gdb/p-valprint.c +++ b/gdb/p-valprint.c @@ -80,7 +80,7 @@ pascal_language::value_print_inner (struct value *val, struct type *char_type; CORE_ADDR addr; int want_space =3D 0; - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); =20 switch (type->code ()) { @@ -539,7 +539,7 @@ pascal_object_print_value_fields (struct value *val, st= ruct ui_file *stream, { struct obstack tmp_obstack =3D dont_print_statmem_obstack; int fields_seen =3D 0; - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (= ); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); =20 if (dont_print_statmem =3D=3D 0) { diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c index 69cc784c558..3d270a4f7ac 100644 --- a/gdb/ppc-sysv-tdep.c +++ b/gdb/ppc-sysv-tdep.c @@ -124,7 +124,7 @@ ppc_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, = struct value *function, struct value *arg =3D args[argno]; struct type *type =3D check_typedef (arg->type ()); int len =3D type->length (); - const bfd_byte *val =3D value_contents (arg).data (); + const bfd_byte *val =3D arg->contents ().data (); =20 if (type->code () =3D=3D TYPE_CODE_FLT && len <=3D 8 && !tdep->soft_float) @@ -1692,7 +1692,7 @@ ppc64_sysv_abi_push_dummy_call (struct gdbarch *gdbar= ch, { struct value *arg =3D args[argno]; struct type *type =3D check_typedef (arg->type ()); - const bfd_byte *val =3D value_contents (arg).data (); + const bfd_byte *val =3D arg->contents ().data (); =20 if (type->code () =3D=3D TYPE_CODE_COMPLEX) { diff --git a/gdb/printcmd.c b/gdb/printcmd.c index ba7d2978ebe..8619e38aea4 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -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 =3D (gdb_byte *) alloca (len + 1); =20 - memcpy (tem_str, value_contents (value).data (), len); + memcpy (tem_str, value->contents ().data (), len); tem_str [len] =3D 0; str =3D tem_str; } @@ -2521,7 +2521,7 @@ printf_wide_c_string (struct ui_file *stream, const c= har *format, if (VALUE_LVAL (value) =3D=3D lval_internalvar && c_is_string_type_p (value->type ())) { - str =3D value_contents (value).data (); + str =3D value->contents ().data (); len =3D value->type ()->length (); } else @@ -2631,14 +2631,14 @@ printf_floating (struct ui_file *stream, const char= *format, param_type =3D float_type_from_length (param_type); if (param_type !=3D value->type ()) value =3D value_from_contents (param_type, - value_contents (value).data ()); + value->contents ().data ()); } =20 value =3D value_cast (fmt_type, value); =20 /* Convert the value to a string and print it. */ std::string str - =3D target_float_to_string (value_contents (value).data (), fmt_type, = format); + =3D target_float_to_string (value->contents ().data (), fmt_type, form= at); gdb_puts (str.c_str (), stream); } =20 @@ -2799,7 +2799,7 @@ ui_printf (const char *arg, struct ui_file *stream) || valtype->code () !=3D TYPE_CODE_INT) error (_("expected wchar_t argument for %%lc")); =20 - bytes =3D value_contents (val_args[i]).data (); + bytes =3D val_args[i]->contents ().data (); =20 auto_obstack output; =20 diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c index 1a3dcc23aa3..8b21f28afbe 100644 --- a/gdb/python/py-inferior.c +++ b/gdb/python/py-inferior.c @@ -714,7 +714,7 @@ infpy_thread_from_thread_handle (PyObject *self, PyObje= ct *args, PyObject *kw) else if (gdbpy_is_value_object (handle_obj)) { struct value *val =3D value_object_to_value (handle_obj); - bytes =3D value_contents_all (val).data (); + bytes =3D val->contents_all ().data (); bytes_len =3D val->type ()->length (); } else diff --git a/gdb/python/py-unwind.c b/gdb/python/py-unwind.c index 442251201f2..97b472f25b1 100644 --- a/gdb/python/py-unwind.c +++ b/gdb/python/py-unwind.c @@ -131,7 +131,7 @@ pyuw_value_obj_to_pointer (PyObject *pyo_value, CORE_AD= DR *addr) if ((value =3D value_object_to_value (pyo_value)) !=3D NULL) { *addr =3D unpack_pointer (value->type (), - value_contents (value).data ()); + value->contents ().data ()); rc =3D 1; } } @@ -624,7 +624,7 @@ pyuw_sniffer (const struct frame_unwind *self, frame_in= fo_ptr this_frame, =20 cached_frame->reg[i].data =3D (gdb_byte *) xmalloc (data_size); memcpy (cached_frame->reg[i].data, - value_contents (value).data (), data_size); + value->contents ().data (), data_size); } } =20 diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c index c2db2d58b0d..26cbac3586c 100644 --- a/gdb/python/py-value.c +++ b/gdb/python/py-value.c @@ -1537,7 +1537,7 @@ valpy_nonzero (PyObject *self) nonzero =3D !!value_as_long (self_value->value); else if (is_floating_value (self_value->value)) nonzero =3D !target_float_is_zero - (value_contents (self_value->value).data (), type); + (self_value->value->contents ().data (), type); else /* All other values are True. */ nonzero =3D 1; @@ -1755,7 +1755,7 @@ valpy_float (PyObject *self) type =3D check_typedef (type); =20 if (type->code () =3D=3D TYPE_CODE_FLT && is_floating_value (value)) - d =3D target_float_to_host_double (value_contents (value).data (), type); + d =3D target_float_to_host_double (value->contents ().data (), type); else if (type->code () =3D=3D TYPE_CODE_INT) { /* Note that valpy_long accepts TYPE_CODE_PTR and some diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c index f8be46c9fb6..78c23ee86fc 100644 --- a/gdb/riscv-tdep.c +++ b/gdb/riscv-tdep.c @@ -1141,7 +1141,7 @@ riscv_print_one_register_info (struct gdbarch *gdbarc= h, && regtype->field (2).type ()->code () =3D=3D TYPE_CODE_FLT)) { struct value_print_options opts; - const gdb_byte *valaddr =3D value_contents_for_printing (val).data (= ); + const gdb_byte *valaddr =3D val->contents_for_printing ().data (); enum bfd_endian byte_order =3D type_byte_order (regtype); =20 get_user_print_options (&opts); @@ -3070,7 +3070,7 @@ riscv_push_dummy_call (struct gdbarch *gdbarch, =20 if (info->type !=3D arg_type) arg_value =3D value_cast (info->type, arg_value); - info->contents =3D value_contents (arg_value).data (); + info->contents =3D arg_value->contents ().data (); } =20 /* Adjust the stack pointer and align it. */ @@ -3405,7 +3405,7 @@ riscv_return_value (struct gdbarch *gdbarch, is unscaled. */ gdb_mpz unscaled; =20 - unscaled.read (value_contents (abi_val), + unscaled.read (abi_val->contents (), type_byte_order (info.type), info.type->is_unsigned ()); *read_value =3D value::allocate (arg_type); diff --git a/gdb/rl78-tdep.c b/gdb/rl78-tdep.c index cd846669169..1af78d9c652 100644 --- a/gdb/rl78-tdep.c +++ b/gdb/rl78-tdep.c @@ -1346,7 +1346,7 @@ rl78_push_dummy_call (struct gdbarch *gdbarch, struct= value *function, =20 sp -=3D container_len; write_memory (rl78_make_data_address (sp), - value_contents_all (args[i]).data (), len); + args[i]->contents_all ().data (), len); } =20 /* Store struct value address. */ diff --git a/gdb/rs6000-aix-tdep.c b/gdb/rs6000-aix-tdep.c index 579f85f3870..15602c80b00 100644 --- a/gdb/rs6000-aix-tdep.c +++ b/gdb/rs6000-aix-tdep.c @@ -367,7 +367,7 @@ rs6000_push_dummy_call (struct gdbarch *gdbarch, struct= value *function, =20 gdb_assert (len <=3D 8); =20 - 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 () =3D=3D 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 +=3D ((len - argbytes + 3) & -4) / 4; @@ -492,11 +492,11 @@ ran_out_of_registers_for_arguments: gdb_assert (len <=3D 8); =20 regcache->cooked_write (tdep->ppc_fp0_regnum + 1 + f_argno, - value_contents (arg).data ()); + arg->contents ().data ()); ++f_argno; } =20 - write_memory (sp + 24 + (ii * 4), value_contents (arg).data (), len); + write_memory (sp + 24 + (ii * 4), arg->contents ().data (), len); ii +=3D ((len + 3) & -4) / 4; } } diff --git a/gdb/rs6000-lynx178-tdep.c b/gdb/rs6000-lynx178-tdep.c index 4d210737535..c5ae38f9200 100644 --- a/gdb/rs6000-lynx178-tdep.c +++ b/gdb/rs6000-lynx178-tdep.c @@ -111,7 +111,7 @@ rs6000_lynx178_push_dummy_call (struct gdbarch *gdbarch, =20 gdb_assert (len <=3D 8); =20 - 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]; =20 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 +=3D align_up (len - argbytes, 4) / 4; @@ -229,11 +229,11 @@ ran_out_of_registers_for_arguments: gdb_assert (len <=3D 8); =20 regcache->cooked_write (tdep->ppc_fp0_regnum + 1 + f_argno, - value_contents (arg).data ()); + arg->contents ().data ()); ++f_argno; } =20 - write_memory (sp + 24 + (ii * 4), value_contents (arg).data (), len); + write_memory (sp + 24 + (ii * 4), arg->contents ().data (), len); ii +=3D align_up (len, 4) / 4; } } diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c index cca2baa6f63..a5be110a33b 100644 --- a/gdb/rust-lang.c +++ b/gdb/rust-lang.c @@ -456,7 +456,7 @@ rust_language::print_enum (struct value *val, struct ui= _file *stream, =20 gdb_assert (rust_enum_p (type)); gdb::array_view view - (value_contents_for_printing (val).data (), + (val->contents_for_printing ().data (), val->type ()->length ()); type =3D resolve_dynamic_type (type, view, val->address ()); =20 @@ -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, =20 if (rust_enum_p (type)) { - type =3D resolve_dynamic_type (type, value_contents (lhs), + type =3D resolve_dynamic_type (type, lhs->contents (), lhs->address ()); =20 if (rust_empty_enum_p (type)) @@ -1437,7 +1437,7 @@ rust_structop::evaluate (struct type *expect_type, struct type *type =3D lhs->type (); if (type->code () =3D=3D TYPE_CODE_STRUCT && rust_enum_p (type)) { - type =3D resolve_dynamic_type (type, value_contents (lhs), + type =3D resolve_dynamic_type (type, lhs->contents (), lhs->address ()); =20 if (rust_empty_enum_p (type)) diff --git a/gdb/rx-tdep.c b/gdb/rx-tdep.c index 67db30ace88..7bd469d5185 100644 --- a/gdb/rx-tdep.c +++ b/gdb/rx-tdep.c @@ -520,7 +520,7 @@ rx_frame_prev_register (frame_info_ptr this_frame, void= **this_cache, psw_val =3D rx_frame_prev_register (this_frame, this_cache, RX_PSW_REGNUM); psw =3D extract_unsigned_integer - (value_contents_all (psw_val).data (), 4, + (psw_val->contents_all ().data (), 4, gdbarch_byte_order (get_frame_arch (this_frame))); =20 if ((psw & 0x20000 /* U bit */) !=3D 0) @@ -725,7 +725,7 @@ rx_push_dummy_call (struct gdbarch *gdbarch, struct val= ue *function, for (i =3D 0; i < nargs; i++) { struct value *arg =3D args[i]; - const gdb_byte *arg_bits =3D value_contents_all (arg).data (); + const gdb_byte *arg_bits =3D arg->contents_all ().data (); struct type *arg_type =3D check_typedef (arg->type ()); ULONGEST arg_size =3D arg_type->length (); =20 diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index 822f66dfc3c..7d2cdf2a873 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -1764,7 +1764,7 @@ s390_handle_arg (struct s390_arg_state *as, struct va= lue *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 +=3D 2; } else @@ -1773,7 +1773,7 @@ s390_handle_arg (struct s390_arg_state *as, struct va= lue *arg, it occupies the rightmost bits. */ as->argp =3D 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, =20 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 =3D align_up (as->argp + length, word_size); } } @@ -1809,9 +1809,9 @@ s390_handle_arg (struct s390_arg_state *as, struct va= lue *arg, memory word and sign- or zero-extend to full word size. This also applies to a struct or union. */ val =3D 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); } =20 @@ -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 +=3D 2; } @@ -1852,7 +1852,7 @@ s390_handle_arg (struct s390_arg_state *as, struct va= lue *arg, as->gr =3D 7; =20 if (write_mode) - write_memory (as->argp, value_contents (arg).data (), length); + write_memory (as->argp, arg->contents ().data (), length); as->argp +=3D length; } } @@ -1863,7 +1863,7 @@ s390_handle_arg (struct s390_arg_state *as, struct va= lue *arg, alignment as a conservative assumption. */ as->copy =3D 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); =20 if (as->gr <=3D 6) { diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c index c98df0223e9..60f15f1b58e 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -883,12 +883,12 @@ sh_justify_value_in_reg (struct gdbarch *gdbarch, str= uct value *val, int len) { /* value gets right-justified in the register or stack word. */ if (gdbarch_byte_order (gdbarch) =3D=3D 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 (); } =20 /* Helper function to eval number of bytes to allocate on stack. */ diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c index 5e582c7b77a..78f240db04e 100644 --- a/gdb/sparc-tdep.c +++ b/gdb/sparc-tdep.c @@ -633,7 +633,7 @@ sparc32_store_arguments (struct regcache *regcache, int= nargs, correct, and wasting a few bytes shouldn't be a problem. */ sp &=3D ~0x7; =20 - write_memory (sp, value_contents (args[i]).data (), len); + write_memory (sp, args[i]->contents ().data (), len); args[i] =3D value_from_pointer (lookup_pointer_type (type), sp); num_elements++; } @@ -664,7 +664,7 @@ sparc32_store_arguments (struct regcache *regcache, int= nargs, =20 for (i =3D 0; i < nargs; i++) { - const bfd_byte *valbuf =3D value_contents (args[i]).data (); + const bfd_byte *valbuf =3D args[i]->contents ().data (); struct type *type =3D args[i]->type (); int len =3D type->length (); gdb_byte buf[4]; diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c index eb6a66315c0..19534fc7379 100644 --- a/gdb/sparc64-tdep.c +++ b/gdb/sparc64-tdep.c @@ -1411,7 +1411,7 @@ sparc64_store_arguments (struct regcache *regcache, i= nt nargs, a problem. */ sp &=3D ~0xf; =20 - write_memory (sp, value_contents (args[i]).data (), len); + write_memory (sp, args[i]->contents ().data (), len); args[i] =3D value_from_pointer (lookup_pointer_type (type), sp); num_elements++; } @@ -1480,7 +1480,7 @@ sparc64_store_arguments (struct regcache *regcache, i= nt nargs, =20 for (i =3D 0; i < nargs; i++) { - const gdb_byte *valbuf =3D value_contents (args[i]).data (); + const gdb_byte *valbuf =3D args[i]->contents ().data (); struct type *type =3D args[i]->type (); int len =3D type->length (); int regnum =3D -1; diff --git a/gdb/stack.c b/gdb/stack.c index cd5e391debe..576947c5dac 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -1717,7 +1717,7 @@ info_frame_command_core (frame_info_ptr fi, bool sele= cted_frame_p) int sp_size =3D register_size (gdbarch, sp_regnum); =20 sp =3D extract_unsigned_integer - (value_contents_all (value).data (), sp_size, byte_order); + (value->contents_all ().data (), sp_size, byte_order); =20 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*/); } =20 /* If we are at the end of a call dummy now, pop the dummy frame diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c index 000a2a9aaa5..568e5a233db 100644 --- a/gdb/tic6x-tdep.c +++ b/gdb/tic6x-tdep.c @@ -917,7 +917,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct = value *function, int len =3D arg_type->length (); enum type_code typecode =3D arg_type->code (); =20 - val =3D value_contents (arg).data (); + val =3D arg->contents ().data (); =20 /* Copy the argument to general registers or the stack in register-sized pieces. */ diff --git a/gdb/tilegx-tdep.c b/gdb/tilegx-tdep.c index 8f005e81dcc..1ec37d45d79 100644 --- a/gdb/tilegx-tdep.c +++ b/gdb/tilegx-tdep.c @@ -304,7 +304,7 @@ tilegx_push_dummy_call (struct gdbarch *gdbarch, break; =20 /* Put argument into registers wordwise. */ - val =3D value_contents (args[i]).data (); + val =3D args[i]->contents ().data (); for (j =3D 0; j < typelen; j +=3D tilegx_reg_size) { /* ISSUE: Why special handling for "typelen =3D 4x + 1"? @@ -323,7 +323,7 @@ tilegx_push_dummy_call (struct gdbarch *gdbarch, the stack, word aligned. */ for (j =3D nargs - 1; j >=3D i; j--) { - const gdb_byte *contents =3D value_contents (args[j]).data (); + const gdb_byte *contents =3D args[j]->contents ().data (); =20 typelen =3D args[j]->enclosing_type ()->length (); slacklen =3D align_up (typelen, 8) - typelen; diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c index 74451bbaa9b..240536805d7 100644 --- a/gdb/v850-tdep.c +++ b/gdb/v850-tdep.c @@ -1066,7 +1066,7 @@ v850_push_dummy_call (struct gdbarch *gdbarch, else { len =3D (*args)->type ()->length (); - val =3D (gdb_byte *) value_contents (*args).data (); + val =3D (gdb_byte *) (*args)->contents ().data (); } =20 if (tdep->eight_byte_align diff --git a/gdb/valarith.c b/gdb/valarith.c index cd3a9c8d699..e92b6672229 100644 --- a/gdb/valarith.c +++ b/gdb/valarith.c @@ -718,8 +718,8 @@ value_concat (struct value *arg1, struct value *arg2) =20 struct value *result =3D value::allocate (atype); gdb::array_view contents =3D result->contents_raw (); - gdb::array_view lhs_contents =3D value_contents (arg1); - gdb::array_view rhs_contents =3D value_contents (arg2); + gdb::array_view lhs_contents =3D arg1->contents (); + gdb::array_view rhs_contents =3D arg2->contents (); gdb::copy (lhs_contents, contents.slice (0, lhs_contents.size ())); gdb::copy (rhs_contents, contents.slice (lhs_contents.size ())); =20 @@ -785,7 +785,7 @@ value_args_as_target_float (struct value *arg1, struct = value *arg2, if (is_floating_type (type1)) { *eff_type_x =3D 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 =3D 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 =3D type1; } =20 - 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, struc= t type *vector_type) =20 for (i =3D 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)); =20 return val; @@ -1635,7 +1635,7 @@ vector_binop (struct value *val1, struct value *val2,= enum exp_opcode op) { value *tmp =3D 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)); } =20 @@ -1692,10 +1692,10 @@ value_logical_not (struct value *arg1) type1 =3D check_typedef (arg1->type ()); =20 if (is_floating_value (arg1)) - return target_float_is_zero (value_contents (arg1).data (), type1); + return target_float_is_zero (arg1->contents ().data (), type1); =20 len =3D type1->length (); - p =3D value_contents (arg1).data (); + p =3D arg1->contents ().data (); =20 while (--len >=3D 0) { @@ -1714,8 +1714,8 @@ value_strcmp (struct value *arg1, struct value *arg2) { int len1 =3D arg1->type ()->length (); int len2 =3D arg2->type ()->length (); - const gdb_byte *s1 =3D value_contents (arg1).data (); - const gdb_byte *s2 =3D value_contents (arg2).data (); + const gdb_byte *s1 =3D arg1->contents ().data (); + const gdb_byte *s2 =3D arg2->contents ().data (); int i, len =3D len1 < len2 ? len1 : len2; =20 for (i =3D 0; i < len; i++) @@ -1790,8 +1790,8 @@ value_equal (struct value *arg1, struct value *arg2) && ((len =3D (int) type1->length ()) =3D=3D (int) type2->length ())) { - p1 =3D value_contents (arg1).data (); - p2 =3D value_contents (arg2).data (); + p1 =3D arg1->contents ().data (); + p2 =3D arg2->contents ().data (); while (--len >=3D 0) { if (*p1++ !=3D *p2++) @@ -1821,8 +1821,8 @@ value_equal_contents (struct value *arg1, struct valu= e *arg2) =20 return (type1->code () =3D=3D type2->code () && type1->length () =3D=3D type2->length () - && memcmp (value_contents (arg1).data (), - value_contents (arg2).data (), + && memcmp (arg1->contents ().data (), + arg2->contents ().data (), type1->length ()) =3D=3D 0); } =20 @@ -1897,7 +1897,7 @@ value_pos (struct value *arg1) if (is_integral_type (type) || is_floating_value (arg1) || (type->code () =3D=3D TYPE_CODE_ARRAY && type->is_vector ()) || type->code () =3D=3D 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 =3D 0; i < high_bound - low_bound + 1; i++) { value *tmp =3D 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 =3D 0; i < high_bound - low_bound + 1; i++) { value *tmp =3D 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 () !=3D TYPE_CODE_ENUM && eltype->code () !=3D TYPE_CODE_BOOL) error (_("First argument of 'IN' has wrong type")); - member =3D value_bit_index (settype, value_contents (set).data (), + member =3D value_bit_index (settype, set->contents ().data (), value_as_long (element)); if (member < 0) error (_("First argument of 'IN' not in range")); diff --git a/gdb/valops.c b/gdb/valops.c index fc9c6dcfe64..2923d9fc0d1 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -342,7 +342,7 @@ value_to_gdb_mpq (struct value *value) gdb_mpq result; if (is_floating_type (type)) { - double d =3D target_float_to_host_double (value_contents (value).dat= a (), + double d =3D 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)); =20 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); =20 @@ -544,7 +544,7 @@ value_cast (struct type *type, struct value *arg2) if (is_floating_value (arg2)) { struct value *v =3D 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; =20 - 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 =3D=3D TYPE_CODE_PTR) longest =3D extract_unsigned_integer - (value_contents (arg2), type_byte_order (type2)); + (arg2->contents (), type_byte_order (type2)); else longest =3D 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 *ar= g) return tem; result =3D 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 *ar= g) result =3D 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) =3D=3D 1) @@ -961,7 +961,7 @@ value_one (struct type *type) for (i =3D 0; i < high_bound - low_bound + 1; i++) { value *tmp =3D 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 *from= val) { changed_addr =3D toval->address (); changed_len =3D type_length_units (type); - dest_buffer =3D value_contents (fromval).data (); + dest_buffer =3D fromval->contents ().data (); } =20 write_memory_with_notification (changed_addr, dest_buffer, changed_len); @@ -1259,12 +1259,12 @@ value_assign (struct value *toval, struct value *fr= omval) 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 ()); } =20 gdb::observers::register_changed.notify (frame, value_reg); @@ -1344,7 +1344,7 @@ value_assign (struct value *toval, struct value *from= val) implies the returned value is not lazy, even if TOVAL was. */ val =3D value_copy (toval); val->set_lazy (0); - copy (value_contents (fromval), val->contents_raw ()); + copy (fromval->contents (), val->contents_raw ()); =20 /* 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) =20 length =3D check_typedef (val->type ())->length (); addr =3D 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); } =20 @@ -2083,7 +2083,7 @@ struct_field_searcher::search (struct value *arg1, LO= NGEST offset, struct value *v2; =20 boffset =3D 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 valu= e **arg1p, base_val =3D value_from_contents_and_address (baseclass, tmp.data (), address + offset); - base_valaddr =3D value_contents_for_printing (base_val).data (); + base_valaddr =3D base_val->contents_for_printing ().data (); this_offset =3D 0; } else { base_val =3D *arg1p; - base_valaddr =3D value_contents_for_printing (*arg1p).data (); + base_valaddr =3D (*arg1p)->contents_for_printing ().data (); this_offset =3D offset; } =20 @@ -2558,7 +2558,7 @@ find_method_list (struct value **argp, const char *me= thod, if (BASETYPE_VIA_VIRTUAL (type, i)) { base_offset =3D 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 *c= ls, { if (BASETYPE_VIA_VIRTUAL (vt, i)) { - const gdb_byte *adr =3D value_contents_for_printing (v).data (); + const gdb_byte *adr =3D v-[...] [diff truncated at 100000 bytes]