From 46680d22de34be5057a1033eb489c1453e70eecc Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Mon, 25 Oct 2021 23:50:22 -0400 Subject: gdb: trivial changes to use array_view Change a few relatively obvious spots using value contents to propagate the use array_view a bit more. Change-Id: I5338a60986f06d5969fec803d04f8423c9288a15 --- gdb/frame.c | 2 +- gdb/rust-lang.c | 10 ++++------ gdb/valarith.c | 9 +++------ gdb/valops.c | 28 ++++++++++------------------ gdb/value.c | 2 +- 5 files changed, 19 insertions(+), 32 deletions(-) (limited to 'gdb') diff --git a/gdb/frame.c b/gdb/frame.c index 7944d1e..896d80d 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -1261,7 +1261,7 @@ frame_unwind_register_value (frame_info *next_frame, int regnum) else { int i; - const gdb_byte *buf = value_contents (value).data (); + gdb::array_view buf = value_contents (value); fprintf_unfiltered (&debug_file, " bytes="); fprintf_unfiltered (&debug_file, "["); diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c index e5a4041..9ab8fbe 100644 --- a/gdb/rust-lang.c +++ b/gdb/rust-lang.c @@ -1317,9 +1317,8 @@ eval_op_rust_struct_anon (struct type *expect_type, struct expression *exp, if (rust_enum_p (type)) { - gdb::array_view view (value_contents (lhs).data (), - TYPE_LENGTH (type)); - type = resolve_dynamic_type (type, view, value_address (lhs)); + type = resolve_dynamic_type (type, value_contents (lhs), + value_address (lhs)); if (rust_empty_enum_p (type)) error (_("Cannot access field %d of empty enum %s"), @@ -1380,9 +1379,8 @@ eval_op_rust_structop (struct type *expect_type, struct expression *exp, struct type *type = value_type (lhs); if (type->code () == TYPE_CODE_STRUCT && rust_enum_p (type)) { - gdb::array_view view (value_contents (lhs).data (), - TYPE_LENGTH (type)); - type = resolve_dynamic_type (type, view, value_address (lhs)); + type = resolve_dynamic_type (type, value_contents (lhs), + value_address (lhs)); if (rust_empty_enum_p (type)) error (_("Cannot access field %s of empty enum %s"), diff --git a/gdb/valarith.c b/gdb/valarith.c index 32898f9..5ce9313 100644 --- a/gdb/valarith.c +++ b/gdb/valarith.c @@ -933,12 +933,10 @@ fixed_point_binop (struct value *arg1, struct value *arg2, enum exp_opcode op) type2 = type1; } - v1.read_fixed_point (gdb::make_array_view (value_contents (arg1).data (), - TYPE_LENGTH (type1)), + v1.read_fixed_point (value_contents (arg1), type_byte_order (type1), type1->is_unsigned (), type1->fixed_point_scaling_factor ()); - v2.read_fixed_point (gdb::make_array_view (value_contents (arg2).data (), - TYPE_LENGTH (type2)), + v2.read_fixed_point (value_contents (arg2), type_byte_order (type2), type2->is_unsigned (), type2->fixed_point_scaling_factor ()); } @@ -948,8 +946,7 @@ fixed_point_binop (struct value *arg1, struct value *arg2, enum exp_opcode op) value *fp_val = allocate_value (type1); fp.write_fixed_point - (gdb::make_array_view (value_contents_raw (fp_val).data (), - TYPE_LENGTH (type1)), + (value_contents_raw (fp_val), type_byte_order (type1), type1->is_unsigned (), type1->fixed_point_scaling_factor ()); diff --git a/gdb/valops.c b/gdb/valops.c index 779ca93..e0214c5 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -351,9 +351,8 @@ value_to_gdb_mpq (struct value *value) || is_fixed_point_type (type)); gdb_mpz vz; - vz.read (gdb::make_array_view (value_contents (value).data (), - TYPE_LENGTH (type)), - type_byte_order (type), type->is_unsigned ()); + vz.read (value_contents (value), type_byte_order (type), + type->is_unsigned ()); mpq_set_z (result.val, vz.val); if (is_fixed_point_type (type)) @@ -392,8 +391,7 @@ value_cast_to_fixed_point (struct type *to_type, struct value *from_val) /* Finally, create the result value, and pack the unscaled value in it. */ struct value *result = allocate_value (to_type); - unscaled.write (gdb::make_array_view (value_contents_raw (result).data (), - TYPE_LENGTH (to_type)), + unscaled.write (value_contents_raw (result), type_byte_order (to_type), to_type->is_unsigned ()); @@ -554,11 +552,10 @@ value_cast (struct type *type, struct value *arg2) { gdb_mpq fp_val; - fp_val.read_fixed_point - (gdb::make_array_view (value_contents (arg2).data (), - TYPE_LENGTH (type2)), - type_byte_order (type2), type2->is_unsigned (), - type2->fixed_point_scaling_factor ()); + fp_val.read_fixed_point (value_contents (arg2), + type_byte_order (type2), + type2->is_unsigned (), + type2->fixed_point_scaling_factor ()); struct value *v = allocate_value (to_type); target_float_from_host_double (value_contents_raw (v).data (), @@ -1255,14 +1252,9 @@ value_assign (struct value *toval, struct value *fromval) value_contents (fromval).data ()); } else - { - gdb::array_view contents - = gdb::make_array_view (value_contents (fromval).data (), - TYPE_LENGTH (type)); - put_frame_register_bytes (frame, value_reg, - value_offset (toval), - contents); - } + put_frame_register_bytes (frame, value_reg, + value_offset (toval), + value_contents (fromval)); } gdb::observers::register_changed.notify (frame, value_reg); diff --git a/gdb/value.c b/gdb/value.c index 4e66329..7d939ab 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -4011,7 +4011,7 @@ value_fetch_lazy_register (struct value *val) else { int i; - const gdb_byte *buf = value_contents (new_val).data (); + gdb::array_view buf = value_contents (new_val); if (VALUE_LVAL (new_val) == lval_register) fprintf_unfiltered (&debug_file, " register=%d", -- cgit v1.1