aboutsummaryrefslogtreecommitdiff
path: root/gdb/valarith.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/valarith.c')
-rw-r--r--gdb/valarith.c60
1 files changed, 30 insertions, 30 deletions
diff --git a/gdb/valarith.c b/gdb/valarith.c
index 940d60a..c0e937d 100644
--- a/gdb/valarith.c
+++ b/gdb/valarith.c
@@ -115,8 +115,8 @@ value_ptrdiff (struct value *arg1, struct value *arg2)
gdb_assert (type1->code () == TYPE_CODE_PTR);
gdb_assert (type2->code () == TYPE_CODE_PTR);
- if (TYPE_LENGTH (check_typedef (type1->target_type ()))
- != TYPE_LENGTH (check_typedef (type2->target_type ())))
+ if (check_typedef (type1->target_type ())->length ()
+ != check_typedef (type2->target_type ())->length ())
error (_("First argument of `-' is a pointer and "
"second argument is neither\n"
"an integer nor a pointer of the same type."));
@@ -770,7 +770,7 @@ value_args_as_target_float (struct value *arg1, struct value *arg2,
if (is_floating_type (type1))
{
*eff_type_x = type1;
- memcpy (x, value_contents (arg1).data (), TYPE_LENGTH (type1));
+ memcpy (x, value_contents (arg1).data (), type1->length ());
}
else if (is_integral_type (type1))
{
@@ -789,7 +789,7 @@ value_args_as_target_float (struct value *arg1, struct value *arg2,
if (is_floating_type (type2))
{
*eff_type_y = type2;
- memcpy (y, value_contents (arg2).data (), TYPE_LENGTH (type2));
+ memcpy (y, value_contents (arg2).data (), type2->length ());
}
else if (is_integral_type (type2))
{
@@ -930,7 +930,7 @@ promotion_type (struct type *type1, struct type *type2)
result_type = type2;
else if (!is_floating_type (type2))
result_type = type1;
- else if (TYPE_LENGTH (type2) > TYPE_LENGTH (type1))
+ else if (type2->length () > type1->length ())
result_type = type2;
else
result_type = type1;
@@ -938,9 +938,9 @@ promotion_type (struct type *type1, struct type *type2)
else
{
/* Integer types. */
- if (TYPE_LENGTH (type1) > TYPE_LENGTH (type2))
+ if (type1->length () > type2->length ())
result_type = type1;
- else if (TYPE_LENGTH (type2) > TYPE_LENGTH (type1))
+ else if (type2->length () > type1->length ())
result_type = type2;
else if (type1->is_unsigned ())
result_type = type1;
@@ -1074,7 +1074,7 @@ static int
type_length_bits (type *type)
{
int unit_size = gdbarch_addressable_memory_unit_size (type->arch ());
- return unit_size * 8 * TYPE_LENGTH (type);
+ return unit_size * 8 * type->length ();
}
/* Check whether the RHS value of a shift is valid in C/C++ semantics.
@@ -1168,8 +1168,8 @@ scalar_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
struct type *eff_type_v1, *eff_type_v2;
gdb::byte_vector v1, v2;
- v1.resize (TYPE_LENGTH (result_type));
- v2.resize (TYPE_LENGTH (result_type));
+ v1.resize (result_type->length ());
+ v2.resize (result_type->length ());
value_args_as_target_float (arg1, arg2,
v1.data (), &eff_type_v1,
@@ -1216,7 +1216,7 @@ scalar_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
val = allocate_value (result_type);
store_signed_integer (value_contents_raw (val).data (),
- TYPE_LENGTH (result_type),
+ result_type->length (),
type_byte_order (result_type),
v);
}
@@ -1362,7 +1362,7 @@ scalar_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
val = allocate_value (result_type);
store_unsigned_integer (value_contents_raw (val).data (),
- TYPE_LENGTH (value_type (val)),
+ value_type (val)->length (),
type_byte_order (result_type),
v);
}
@@ -1523,7 +1523,7 @@ scalar_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
val = allocate_value (result_type);
store_signed_integer (value_contents_raw (val).data (),
- TYPE_LENGTH (value_type (val)),
+ value_type (val)->length (),
type_byte_order (result_type),
v);
}
@@ -1562,13 +1562,13 @@ value_vector_widen (struct value *scalar_value, struct type *vector_type)
/* If we reduced the length of the scalar then check we didn't loose any
important bits. */
- if (TYPE_LENGTH (eltype) < TYPE_LENGTH (scalar_type)
+ if (eltype->length () < scalar_type->length ()
&& !value_equal (elval, scalar_value))
error (_("conversion of scalar to vector involves truncation"));
value *val = allocate_value (vector_type);
gdb::array_view<gdb_byte> val_contents = value_contents_writeable (val);
- int elt_len = TYPE_LENGTH (eltype);
+ int elt_len = eltype->length ();
for (i = 0; i < high_bound - low_bound + 1; i++)
/* Duplicate the contents of elval into the destination vector. */
@@ -1605,10 +1605,10 @@ vector_binop (struct value *val1, struct value *val2, enum exp_opcode op)
eltype1 = check_typedef (type1->target_type ());
eltype2 = check_typedef (type2->target_type ());
- elsize = TYPE_LENGTH (eltype1);
+ elsize = eltype1->length ();
if (eltype1->code () != eltype2->code ()
- || elsize != TYPE_LENGTH (eltype2)
+ || elsize != eltype2->length ()
|| eltype1->is_unsigned () != eltype2->is_unsigned ()
|| low_bound1 != low_bound2 || high_bound1 != high_bound2)
error (_("Cannot perform operation on vectors with different types"));
@@ -1680,7 +1680,7 @@ value_logical_not (struct value *arg1)
if (is_floating_value (arg1))
return target_float_is_zero (value_contents (arg1).data (), type1);
- len = TYPE_LENGTH (type1);
+ len = type1->length ();
p = value_contents (arg1).data ();
while (--len >= 0)
@@ -1698,8 +1698,8 @@ value_logical_not (struct value *arg1)
static int
value_strcmp (struct value *arg1, struct value *arg2)
{
- int len1 = TYPE_LENGTH (value_type (arg1));
- int len2 = TYPE_LENGTH (value_type (arg2));
+ int len1 = value_type (arg1)->length ();
+ int len2 = value_type (arg2)->length ();
const gdb_byte *s1 = value_contents (arg1).data ();
const gdb_byte *s2 = value_contents (arg2).data ();
int i, len = len1 < len2 ? len1 : len2;
@@ -1754,8 +1754,8 @@ value_equal (struct value *arg1, struct value *arg2)
{
struct type *eff_type_v1, *eff_type_v2;
gdb::byte_vector v1, v2;
- v1.resize (std::max (TYPE_LENGTH (type1), TYPE_LENGTH (type2)));
- v2.resize (std::max (TYPE_LENGTH (type1), TYPE_LENGTH (type2)));
+ v1.resize (std::max (type1->length (), type2->length ()));
+ v2.resize (std::max (type1->length (), type2->length ()));
value_args_as_target_float (arg1, arg2,
v1.data (), &eff_type_v1,
@@ -1773,8 +1773,8 @@ value_equal (struct value *arg1, struct value *arg2)
return (CORE_ADDR) value_as_long (arg1) == value_as_address (arg2);
else if (code1 == code2
- && ((len = (int) TYPE_LENGTH (type1))
- == (int) TYPE_LENGTH (type2)))
+ && ((len = (int) type1->length ())
+ == (int) type2->length ()))
{
p1 = value_contents (arg1).data ();
p2 = value_contents (arg2).data ();
@@ -1806,10 +1806,10 @@ value_equal_contents (struct value *arg1, struct value *arg2)
type2 = check_typedef (value_type (arg2));
return (type1->code () == type2->code ()
- && TYPE_LENGTH (type1) == TYPE_LENGTH (type2)
+ && type1->length () == type2->length ()
&& memcmp (value_contents (arg1).data (),
value_contents (arg2).data (),
- TYPE_LENGTH (type1)) == 0);
+ type1->length ()) == 0);
}
/* Simulate the C operator < by returning 1
@@ -1842,8 +1842,8 @@ value_less (struct value *arg1, struct value *arg2)
{
struct type *eff_type_v1, *eff_type_v2;
gdb::byte_vector v1, v2;
- v1.resize (std::max (TYPE_LENGTH (type1), TYPE_LENGTH (type2)));
- v2.resize (std::max (TYPE_LENGTH (type1), TYPE_LENGTH (type2)));
+ v1.resize (std::max (type1->length (), type2->length ()));
+ v2.resize (std::max (type1->length (), type2->length ()));
value_args_as_target_float (arg1, arg2,
v1.data (), &eff_type_v1,
@@ -1911,7 +1911,7 @@ value_neg (struct value *arg1)
error (_("Could not determine the vector bounds"));
gdb::array_view<gdb_byte> val_contents = value_contents_writeable (val);
- int elt_len = TYPE_LENGTH (eltype);
+ int elt_len = eltype->length ();
for (i = 0; i < high_bound - low_bound + 1; i++)
{
@@ -1956,7 +1956,7 @@ value_complement (struct value *arg1)
val = allocate_value (type);
gdb::array_view<gdb_byte> val_contents = value_contents_writeable (val);
- int elt_len = TYPE_LENGTH (eltype);
+ int elt_len = eltype->length ();
for (i = 0; i < high_bound - low_bound + 1; i++)
{