gdb: remove TYPE_UNSIGNED
gdb/ChangeLog: * gdbtypes.h (TYPE_UNSIGNED): Remove, replace all uses with type::is_unsigned. Change-Id: I84f76f5cd44ff7294e421d317376a9e476bc8666
This commit is contained in:
parent
653223d356
commit
c6d940a956
30 changed files with 88 additions and 86 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2020-09-14 Simon Marchi <simon.marchi@efficios.com>
|
||||||
|
|
||||||
|
* gdbtypes.h (TYPE_UNSIGNED): Remove, replace all uses with
|
||||||
|
type::is_unsigned.
|
||||||
|
|
||||||
2020-09-14 Simon Marchi <simon.marchi@efficios.com>
|
2020-09-14 Simon Marchi <simon.marchi@efficios.com>
|
||||||
|
|
||||||
* gdbtypes.h (struct type) <is_unsigned, set_is_unsigned>: New
|
* gdbtypes.h (struct type) <is_unsigned, set_is_unsigned>: New
|
||||||
|
|
|
@ -1885,7 +1885,7 @@ aarch64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
|
||||||
if (len < 4)
|
if (len < 4)
|
||||||
{
|
{
|
||||||
/* Promote to 32 bit integer. */
|
/* Promote to 32 bit integer. */
|
||||||
if (TYPE_UNSIGNED (arg_type))
|
if (arg_type->is_unsigned ())
|
||||||
arg_type = builtin_type (gdbarch)->builtin_uint32;
|
arg_type = builtin_type (gdbarch)->builtin_uint32;
|
||||||
else
|
else
|
||||||
arg_type = builtin_type (gdbarch)->builtin_int32;
|
arg_type = builtin_type (gdbarch)->builtin_int32;
|
||||||
|
|
|
@ -701,7 +701,7 @@ umax_of_size (int size)
|
||||||
static LONGEST
|
static LONGEST
|
||||||
max_of_type (struct type *t)
|
max_of_type (struct type *t)
|
||||||
{
|
{
|
||||||
if (TYPE_UNSIGNED (t))
|
if (t->is_unsigned ())
|
||||||
return (LONGEST) umax_of_size (TYPE_LENGTH (t));
|
return (LONGEST) umax_of_size (TYPE_LENGTH (t));
|
||||||
else
|
else
|
||||||
return max_of_size (TYPE_LENGTH (t));
|
return max_of_size (TYPE_LENGTH (t));
|
||||||
|
@ -711,7 +711,7 @@ max_of_type (struct type *t)
|
||||||
static LONGEST
|
static LONGEST
|
||||||
min_of_type (struct type *t)
|
min_of_type (struct type *t)
|
||||||
{
|
{
|
||||||
if (TYPE_UNSIGNED (t))
|
if (t->is_unsigned ())
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
return min_of_size (TYPE_LENGTH (t));
|
return min_of_size (TYPE_LENGTH (t));
|
||||||
|
@ -2276,7 +2276,7 @@ has_negatives (struct type *type)
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
case TYPE_CODE_INT:
|
case TYPE_CODE_INT:
|
||||||
return !TYPE_UNSIGNED (type);
|
return !type->is_unsigned ();
|
||||||
case TYPE_CODE_RANGE:
|
case TYPE_CODE_RANGE:
|
||||||
return type->bounds ()->low.const_val () - type->bounds ()->bias < 0;
|
return type->bounds ()->low.const_val () - type->bounds ()->bias < 0;
|
||||||
}
|
}
|
||||||
|
@ -9354,7 +9354,7 @@ ada_value_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
|
||||||
if (v2 == 0)
|
if (v2 == 0)
|
||||||
error (_("second operand of %s must not be zero."), op_string (op));
|
error (_("second operand of %s must not be zero."), op_string (op));
|
||||||
|
|
||||||
if (TYPE_UNSIGNED (type1) || op == BINOP_MOD)
|
if (type1->is_unsigned () || op == BINOP_MOD)
|
||||||
return value_binop (arg1, arg2, op);
|
return value_binop (arg1, arg2, op);
|
||||||
|
|
||||||
v1 = value_as_long (arg1);
|
v1 = value_as_long (arg1);
|
||||||
|
@ -11444,7 +11444,7 @@ ada_is_modular_type (struct type *type)
|
||||||
|
|
||||||
return (subranged_type != NULL && type->code () == TYPE_CODE_RANGE
|
return (subranged_type != NULL && type->code () == TYPE_CODE_RANGE
|
||||||
&& subranged_type->code () == TYPE_CODE_INT
|
&& subranged_type->code () == TYPE_CODE_INT
|
||||||
&& TYPE_UNSIGNED (subranged_type));
|
&& subranged_type->is_unsigned ());
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Assuming ada_is_modular_type (TYPE), the modulus of TYPE. */
|
/* Assuming ada_is_modular_type (TYPE), the modulus of TYPE. */
|
||||||
|
|
|
@ -398,7 +398,7 @@ ada_print_scalar (struct type *type, LONGEST val, struct ui_file *stream)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TYPE_CODE_INT:
|
case TYPE_CODE_INT:
|
||||||
print_longest (stream, TYPE_UNSIGNED (type) ? 'u' : 'd', 0, val);
|
print_longest (stream, type->is_unsigned () ? 'u' : 'd', 0, val);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TYPE_CODE_CHAR:
|
case TYPE_CODE_CHAR:
|
||||||
|
@ -1129,7 +1129,7 @@ ada_value_print (struct value *val0, struct ui_file *stream,
|
||||||
type is indicated by the quoted string anyway. */
|
type is indicated by the quoted string anyway. */
|
||||||
if (TYPE_LENGTH (TYPE_TARGET_TYPE (type)) != sizeof (char)
|
if (TYPE_LENGTH (TYPE_TARGET_TYPE (type)) != sizeof (char)
|
||||||
|| TYPE_TARGET_TYPE (type)->code () != TYPE_CODE_INT
|
|| TYPE_TARGET_TYPE (type)->code () != TYPE_CODE_INT
|
||||||
|| TYPE_UNSIGNED (TYPE_TARGET_TYPE (type)))
|
|| TYPE_TARGET_TYPE (type)->is_unsigned ())
|
||||||
{
|
{
|
||||||
fprintf_filtered (stream, "(");
|
fprintf_filtered (stream, "(");
|
||||||
type_print (type, "", stream, -1);
|
type_print (type, "", stream, -1);
|
||||||
|
|
17
gdb/ax-gdb.c
17
gdb/ax-gdb.c
|
@ -444,7 +444,7 @@ static void
|
||||||
gen_sign_extend (struct agent_expr *ax, struct type *type)
|
gen_sign_extend (struct agent_expr *ax, struct type *type)
|
||||||
{
|
{
|
||||||
/* Do we need to sign-extend this? */
|
/* Do we need to sign-extend this? */
|
||||||
if (!TYPE_UNSIGNED (type))
|
if (!type->is_unsigned ())
|
||||||
ax_ext (ax, TYPE_LENGTH (type) * TARGET_CHAR_BIT);
|
ax_ext (ax, TYPE_LENGTH (type) * TARGET_CHAR_BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -458,7 +458,7 @@ gen_extend (struct agent_expr *ax, struct type *type)
|
||||||
int bits = TYPE_LENGTH (type) * TARGET_CHAR_BIT;
|
int bits = TYPE_LENGTH (type) * TARGET_CHAR_BIT;
|
||||||
|
|
||||||
/* I just had to. */
|
/* I just had to. */
|
||||||
((TYPE_UNSIGNED (type) ? ax_zero_ext : ax_ext) (ax, bits));
|
((type->is_unsigned () ? ax_zero_ext : ax_ext) (ax, bits));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -871,8 +871,8 @@ type_wider_than (struct type *type1, struct type *type2)
|
||||||
{
|
{
|
||||||
return (TYPE_LENGTH (type1) > TYPE_LENGTH (type2)
|
return (TYPE_LENGTH (type1) > TYPE_LENGTH (type2)
|
||||||
|| (TYPE_LENGTH (type1) == TYPE_LENGTH (type2)
|
|| (TYPE_LENGTH (type1) == TYPE_LENGTH (type2)
|
||||||
&& TYPE_UNSIGNED (type1)
|
&& type1->is_unsigned ()
|
||||||
&& !TYPE_UNSIGNED (type2)));
|
&& !type2->is_unsigned ()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -899,7 +899,7 @@ gen_conversion (struct agent_expr *ax, struct type *from, struct type *to)
|
||||||
then we need to extend. */
|
then we need to extend. */
|
||||||
else if (TYPE_LENGTH (to) == TYPE_LENGTH (from))
|
else if (TYPE_LENGTH (to) == TYPE_LENGTH (from))
|
||||||
{
|
{
|
||||||
if (TYPE_UNSIGNED (from) != TYPE_UNSIGNED (to))
|
if (from->is_unsigned () != to->is_unsigned ())
|
||||||
gen_extend (ax, to);
|
gen_extend (ax, to);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -907,7 +907,7 @@ gen_conversion (struct agent_expr *ax, struct type *from, struct type *to)
|
||||||
we need to zero out any possible sign bits. */
|
we need to zero out any possible sign bits. */
|
||||||
else if (TYPE_LENGTH (to) > TYPE_LENGTH (from))
|
else if (TYPE_LENGTH (to) > TYPE_LENGTH (from))
|
||||||
{
|
{
|
||||||
if (TYPE_UNSIGNED (to))
|
if (to->is_unsigned ())
|
||||||
gen_extend (ax, to);
|
gen_extend (ax, to);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1162,8 +1162,7 @@ gen_binop (struct agent_expr *ax, struct axs_value *value,
|
||||||
|| (value2->type->code () != TYPE_CODE_INT))
|
|| (value2->type->code () != TYPE_CODE_INT))
|
||||||
error (_("Invalid combination of types in %s."), name);
|
error (_("Invalid combination of types in %s."), name);
|
||||||
|
|
||||||
ax_simple (ax,
|
ax_simple (ax, value1->type->is_unsigned () ? op_unsigned : op);
|
||||||
TYPE_UNSIGNED (value1->type) ? op_unsigned : op);
|
|
||||||
if (may_carry)
|
if (may_carry)
|
||||||
gen_extend (ax, value1->type); /* catch overflow */
|
gen_extend (ax, value1->type); /* catch overflow */
|
||||||
value->type = value1->type;
|
value->type = value1->type;
|
||||||
|
@ -1399,7 +1398,7 @@ gen_bitfield_ref (struct agent_expr *ax, struct axs_value *value,
|
||||||
ax_simple (ax, aop_bit_or);
|
ax_simple (ax, aop_bit_or);
|
||||||
|
|
||||||
/* Sign- or zero-extend the value as appropriate. */
|
/* Sign- or zero-extend the value as appropriate. */
|
||||||
((TYPE_UNSIGNED (type) ? ax_zero_ext : ax_ext) (ax, end - start));
|
((type->is_unsigned () ? ax_zero_ext : ax_ext) (ax, end - start));
|
||||||
|
|
||||||
/* This is *not* an lvalue. Ugh. */
|
/* This is *not* an lvalue. Ugh. */
|
||||||
value->kind = axs_rvalue;
|
value->kind = axs_rvalue;
|
||||||
|
|
|
@ -256,7 +256,7 @@ generate_register_struct (struct ui_file *stream, struct gdbarch *gdbarch,
|
||||||
|
|
||||||
if (mode != NULL)
|
if (mode != NULL)
|
||||||
{
|
{
|
||||||
if (TYPE_UNSIGNED (regtype))
|
if (regtype->is_unsigned ())
|
||||||
fputs_unfiltered ("unsigned ", stream);
|
fputs_unfiltered ("unsigned ", stream);
|
||||||
fprintf_unfiltered (stream,
|
fprintf_unfiltered (stream,
|
||||||
"int %s"
|
"int %s"
|
||||||
|
|
|
@ -130,7 +130,7 @@ convert_enum (compile_c_instance *context, struct type *type)
|
||||||
gcc_type int_type, result;
|
gcc_type int_type, result;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
int_type = context->plugin ().int_type_v0 (TYPE_UNSIGNED (type),
|
int_type = context->plugin ().int_type_v0 (type->is_unsigned (),
|
||||||
TYPE_LENGTH (type));
|
TYPE_LENGTH (type));
|
||||||
|
|
||||||
result = context->plugin ().build_enum_type (int_type);
|
result = context->plugin ().build_enum_type (int_type);
|
||||||
|
@ -199,12 +199,12 @@ convert_int (compile_c_instance *context, struct type *type)
|
||||||
gdb_assert (TYPE_LENGTH (type) == 1);
|
gdb_assert (TYPE_LENGTH (type) == 1);
|
||||||
return context->plugin ().char_type ();
|
return context->plugin ().char_type ();
|
||||||
}
|
}
|
||||||
return context->plugin ().int_type (TYPE_UNSIGNED (type),
|
return context->plugin ().int_type (type->is_unsigned (),
|
||||||
TYPE_LENGTH (type),
|
TYPE_LENGTH (type),
|
||||||
type->name ());
|
type->name ());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return context->plugin ().int_type_v0 (TYPE_UNSIGNED (type),
|
return context->plugin ().int_type_v0 (type->is_unsigned (),
|
||||||
TYPE_LENGTH (type));
|
TYPE_LENGTH (type));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -929,7 +929,7 @@ compile_cplus_convert_enum (compile_cplus_instance *instance, struct type *type,
|
||||||
instance->enter_scope (std::move (scope));
|
instance->enter_scope (std::move (scope));
|
||||||
|
|
||||||
gcc_type int_type
|
gcc_type int_type
|
||||||
= instance->plugin ().get_int_type (TYPE_UNSIGNED (type),
|
= instance->plugin ().get_int_type (type->is_unsigned (),
|
||||||
TYPE_LENGTH (type), nullptr);
|
TYPE_LENGTH (type), nullptr);
|
||||||
gcc_type result
|
gcc_type result
|
||||||
= instance->plugin ().start_enum_type (name.get (), int_type,
|
= instance->plugin ().start_enum_type (name.get (), int_type,
|
||||||
|
@ -1022,7 +1022,7 @@ compile_cplus_convert_int (compile_cplus_instance *instance, struct type *type)
|
||||||
}
|
}
|
||||||
|
|
||||||
return instance->plugin ().get_int_type
|
return instance->plugin ().get_int_type
|
||||||
(TYPE_UNSIGNED (type), TYPE_LENGTH (type), type->name ());
|
(type->is_unsigned (), TYPE_LENGTH (type), type->name ());
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert a floating-point type to its gcc representation. */
|
/* Convert a floating-point type to its gcc representation. */
|
||||||
|
|
|
@ -366,7 +366,7 @@ base_types_equal_p (struct type *t1, struct type *t2)
|
||||||
{
|
{
|
||||||
if (t1->code () != t2->code ())
|
if (t1->code () != t2->code ())
|
||||||
return 0;
|
return 0;
|
||||||
if (TYPE_UNSIGNED (t1) != TYPE_UNSIGNED (t2))
|
if (t1->is_unsigned () != t2->is_unsigned ())
|
||||||
return 0;
|
return 0;
|
||||||
return TYPE_LENGTH (t1) == TYPE_LENGTH (t2);
|
return TYPE_LENGTH (t1) == TYPE_LENGTH (t2);
|
||||||
}
|
}
|
||||||
|
@ -1087,7 +1087,7 @@ dwarf_expr_context::execute_stack_op (const gdb_byte *op_ptr,
|
||||||
case DW_OP_shr:
|
case DW_OP_shr:
|
||||||
dwarf_require_integral (value_type (first));
|
dwarf_require_integral (value_type (first));
|
||||||
dwarf_require_integral (value_type (second));
|
dwarf_require_integral (value_type (second));
|
||||||
if (!TYPE_UNSIGNED (value_type (first)))
|
if (!value_type (first)->is_unsigned ())
|
||||||
{
|
{
|
||||||
struct type *utype
|
struct type *utype
|
||||||
= get_unsigned_type (this->gdbarch, value_type (first));
|
= get_unsigned_type (this->gdbarch, value_type (first));
|
||||||
|
@ -1104,7 +1104,7 @@ dwarf_expr_context::execute_stack_op (const gdb_byte *op_ptr,
|
||||||
case DW_OP_shra:
|
case DW_OP_shra:
|
||||||
dwarf_require_integral (value_type (first));
|
dwarf_require_integral (value_type (first));
|
||||||
dwarf_require_integral (value_type (second));
|
dwarf_require_integral (value_type (second));
|
||||||
if (TYPE_UNSIGNED (value_type (first)))
|
if (value_type (first)->is_unsigned ())
|
||||||
{
|
{
|
||||||
struct type *stype
|
struct type *stype
|
||||||
= get_signed_type (this->gdbarch, value_type (first));
|
= get_signed_type (this->gdbarch, value_type (first));
|
||||||
|
|
|
@ -2603,7 +2603,7 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
|
||||||
|
|
||||||
struct type *type = check_typedef (baton->property_type);
|
struct type *type = check_typedef (baton->property_type);
|
||||||
if (TYPE_LENGTH (type) < sizeof (CORE_ADDR)
|
if (TYPE_LENGTH (type) < sizeof (CORE_ADDR)
|
||||||
&& !TYPE_UNSIGNED (type))
|
&& !type->is_unsigned ())
|
||||||
{
|
{
|
||||||
/* If we have a valid return candidate and it's value
|
/* If we have a valid return candidate and it's value
|
||||||
is signed, we have to sign-extend the value because
|
is signed, we have to sign-extend the value because
|
||||||
|
|
|
@ -9499,7 +9499,7 @@ alloc_rust_variant (struct obstack *obstack, struct type *type,
|
||||||
part->is_unsigned
|
part->is_unsigned
|
||||||
= (discriminant_index == -1
|
= (discriminant_index == -1
|
||||||
? false
|
? false
|
||||||
: TYPE_UNSIGNED (type->field (discriminant_index).type ()));
|
: type->field (discriminant_index).type ()->is_unsigned ());
|
||||||
part->variants = gdb::array_view<variant> (variants, n_variants);
|
part->variants = gdb::array_view<variant> (variants, n_variants);
|
||||||
|
|
||||||
void *storage = obstack_alloc (obstack, sizeof (gdb::array_view<variant_part>));
|
void *storage = obstack_alloc (obstack, sizeof (gdb::array_view<variant_part>));
|
||||||
|
@ -15358,7 +15358,7 @@ create_one_variant_part (variant_part &result,
|
||||||
{
|
{
|
||||||
result.discriminant_index = iter->second;
|
result.discriminant_index = iter->second;
|
||||||
result.is_unsigned
|
result.is_unsigned
|
||||||
= TYPE_UNSIGNED (fi->fields[result.discriminant_index].field.type ());
|
= fi->fields[result.discriminant_index].field.type ()->is_unsigned ();
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t n = builder.variants.size ();
|
size_t n = builder.variants.size ();
|
||||||
|
@ -18355,10 +18355,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
negative_mask =
|
negative_mask =
|
||||||
-((ULONGEST) 1 << (TYPE_LENGTH (base_type) * TARGET_CHAR_BIT - 1));
|
-((ULONGEST) 1 << (TYPE_LENGTH (base_type) * TARGET_CHAR_BIT - 1));
|
||||||
if (low.kind () == PROP_CONST
|
if (low.kind () == PROP_CONST
|
||||||
&& !TYPE_UNSIGNED (base_type) && (low.const_val () & negative_mask))
|
&& !base_type->is_unsigned () && (low.const_val () & negative_mask))
|
||||||
low.set_const_val (low.const_val () | negative_mask);
|
low.set_const_val (low.const_val () | negative_mask);
|
||||||
if (high.kind () == PROP_CONST
|
if (high.kind () == PROP_CONST
|
||||||
&& !TYPE_UNSIGNED (base_type) && (high.const_val () & negative_mask))
|
&& !base_type->is_unsigned () && (high.const_val () & negative_mask))
|
||||||
high.set_const_val (high.const_val () | negative_mask);
|
high.set_const_val (high.const_val () | negative_mask);
|
||||||
|
|
||||||
/* Check for bit and byte strides. */
|
/* Check for bit and byte strides. */
|
||||||
|
@ -24087,7 +24087,7 @@ dwarf2_cu::addr_type () const
|
||||||
if (TYPE_LENGTH (addr_type) == addr_size)
|
if (TYPE_LENGTH (addr_type) == addr_size)
|
||||||
return addr_type;
|
return addr_type;
|
||||||
|
|
||||||
addr_type = addr_sized_int_type (TYPE_UNSIGNED (addr_type));
|
addr_type = addr_sized_int_type (addr_type->is_unsigned ());
|
||||||
return addr_type;
|
return addr_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -500,8 +500,8 @@ binop_promote (const struct language_defn *language, struct gdbarch *gdbarch,
|
||||||
const struct builtin_type *builtin = builtin_type (gdbarch);
|
const struct builtin_type *builtin = builtin_type (gdbarch);
|
||||||
unsigned int promoted_len1 = TYPE_LENGTH (type1);
|
unsigned int promoted_len1 = TYPE_LENGTH (type1);
|
||||||
unsigned int promoted_len2 = TYPE_LENGTH (type2);
|
unsigned int promoted_len2 = TYPE_LENGTH (type2);
|
||||||
int is_unsigned1 = TYPE_UNSIGNED (type1);
|
int is_unsigned1 = type1->is_unsigned ();
|
||||||
int is_unsigned2 = TYPE_UNSIGNED (type2);
|
int is_unsigned2 = type2->is_unsigned ();
|
||||||
unsigned int result_len;
|
unsigned int result_len;
|
||||||
int unsigned_operation;
|
int unsigned_operation;
|
||||||
|
|
||||||
|
|
|
@ -827,7 +827,7 @@ push_kind_type (LONGEST val, struct type *type)
|
||||||
{
|
{
|
||||||
int ival;
|
int ival;
|
||||||
|
|
||||||
if (TYPE_UNSIGNED (type))
|
if (type->is_unsigned ())
|
||||||
{
|
{
|
||||||
ULONGEST uval = static_cast <ULONGEST> (val);
|
ULONGEST uval = static_cast <ULONGEST> (val);
|
||||||
if (uval > INT_MAX)
|
if (uval > INT_MAX)
|
||||||
|
|
|
@ -1088,7 +1088,7 @@ get_discrete_bounds (struct type *type, LONGEST *lowp, LONGEST *highp)
|
||||||
case TYPE_CODE_INT:
|
case TYPE_CODE_INT:
|
||||||
if (TYPE_LENGTH (type) > sizeof (LONGEST)) /* Too big */
|
if (TYPE_LENGTH (type) > sizeof (LONGEST)) /* Too big */
|
||||||
return -1;
|
return -1;
|
||||||
if (!TYPE_UNSIGNED (type))
|
if (!type->is_unsigned ())
|
||||||
{
|
{
|
||||||
*lowp = -(1 << (TYPE_LENGTH (type) * TARGET_CHAR_BIT - 1));
|
*lowp = -(1 << (TYPE_LENGTH (type) * TARGET_CHAR_BIT - 1));
|
||||||
*highp = -*lowp - 1;
|
*highp = -*lowp - 1;
|
||||||
|
@ -1811,7 +1811,7 @@ get_unsigned_type_max (struct type *type, ULONGEST *max)
|
||||||
unsigned int n;
|
unsigned int n;
|
||||||
|
|
||||||
type = check_typedef (type);
|
type = check_typedef (type);
|
||||||
gdb_assert (type->code () == TYPE_CODE_INT && TYPE_UNSIGNED (type));
|
gdb_assert (type->code () == TYPE_CODE_INT && type->is_unsigned ());
|
||||||
gdb_assert (TYPE_LENGTH (type) <= sizeof (ULONGEST));
|
gdb_assert (TYPE_LENGTH (type) <= sizeof (ULONGEST));
|
||||||
|
|
||||||
/* Written this way to avoid overflow. */
|
/* Written this way to avoid overflow. */
|
||||||
|
@ -1828,7 +1828,7 @@ get_signed_type_minmax (struct type *type, LONGEST *min, LONGEST *max)
|
||||||
unsigned int n;
|
unsigned int n;
|
||||||
|
|
||||||
type = check_typedef (type);
|
type = check_typedef (type);
|
||||||
gdb_assert (type->code () == TYPE_CODE_INT && !TYPE_UNSIGNED (type));
|
gdb_assert (type->code () == TYPE_CODE_INT && !type->is_unsigned ());
|
||||||
gdb_assert (TYPE_LENGTH (type) <= sizeof (LONGEST));
|
gdb_assert (TYPE_LENGTH (type) <= sizeof (LONGEST));
|
||||||
|
|
||||||
n = TYPE_LENGTH (type) * TARGET_CHAR_BIT;
|
n = TYPE_LENGTH (type) * TARGET_CHAR_BIT;
|
||||||
|
@ -3989,7 +3989,7 @@ check_types_equal (struct type *type1, struct type *type2,
|
||||||
|
|
||||||
if (type1->code () != type2->code ()
|
if (type1->code () != type2->code ()
|
||||||
|| TYPE_LENGTH (type1) != TYPE_LENGTH (type2)
|
|| TYPE_LENGTH (type1) != TYPE_LENGTH (type2)
|
||||||
|| TYPE_UNSIGNED (type1) != TYPE_UNSIGNED (type2)
|
|| type1->is_unsigned () != type2->is_unsigned ()
|
||||||
|| TYPE_NOSIGN (type1) != TYPE_NOSIGN (type2)
|
|| TYPE_NOSIGN (type1) != TYPE_NOSIGN (type2)
|
||||||
|| TYPE_ENDIANITY_NOT_DEFAULT (type1) != TYPE_ENDIANITY_NOT_DEFAULT (type2)
|
|| TYPE_ENDIANITY_NOT_DEFAULT (type1) != TYPE_ENDIANITY_NOT_DEFAULT (type2)
|
||||||
|| TYPE_VARARGS (type1) != TYPE_VARARGS (type2)
|
|| TYPE_VARARGS (type1) != TYPE_VARARGS (type2)
|
||||||
|
@ -4272,9 +4272,9 @@ rank_one_type_parm_int (struct type *parm, struct type *arg, struct value *value
|
||||||
else /* signed/unsigned char -> plain char */
|
else /* signed/unsigned char -> plain char */
|
||||||
return INTEGER_CONVERSION_BADNESS;
|
return INTEGER_CONVERSION_BADNESS;
|
||||||
}
|
}
|
||||||
else if (TYPE_UNSIGNED (parm))
|
else if (parm->is_unsigned ())
|
||||||
{
|
{
|
||||||
if (TYPE_UNSIGNED (arg))
|
if (arg->is_unsigned ())
|
||||||
{
|
{
|
||||||
/* unsigned int -> unsigned int, or
|
/* unsigned int -> unsigned int, or
|
||||||
unsigned long -> unsigned long */
|
unsigned long -> unsigned long */
|
||||||
|
@ -4304,7 +4304,7 @@ rank_one_type_parm_int (struct type *parm, struct type *arg, struct value *value
|
||||||
return INTEGER_CONVERSION_BADNESS;
|
return INTEGER_CONVERSION_BADNESS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!TYPE_NOSIGN (arg) && !TYPE_UNSIGNED (arg))
|
else if (!TYPE_NOSIGN (arg) && !arg->is_unsigned ())
|
||||||
{
|
{
|
||||||
if (integer_types_same_name_p (parm->name (),
|
if (integer_types_same_name_p (parm->name (),
|
||||||
arg->name ()))
|
arg->name ()))
|
||||||
|
@ -4394,14 +4394,14 @@ rank_one_type_parm_char (struct type *parm, struct type *arg, struct value *valu
|
||||||
else
|
else
|
||||||
return INTEGER_CONVERSION_BADNESS;
|
return INTEGER_CONVERSION_BADNESS;
|
||||||
}
|
}
|
||||||
else if (TYPE_UNSIGNED (parm))
|
else if (parm->is_unsigned ())
|
||||||
{
|
{
|
||||||
if (TYPE_UNSIGNED (arg))
|
if (arg->is_unsigned ())
|
||||||
return EXACT_MATCH_BADNESS;
|
return EXACT_MATCH_BADNESS;
|
||||||
else
|
else
|
||||||
return INTEGER_PROMOTION_BADNESS;
|
return INTEGER_PROMOTION_BADNESS;
|
||||||
}
|
}
|
||||||
else if (!TYPE_NOSIGN (arg) && !TYPE_UNSIGNED (arg))
|
else if (!TYPE_NOSIGN (arg) && !arg->is_unsigned ())
|
||||||
return EXACT_MATCH_BADNESS;
|
return EXACT_MATCH_BADNESS;
|
||||||
else
|
else
|
||||||
return INTEGER_CONVERSION_BADNESS;
|
return INTEGER_CONVERSION_BADNESS;
|
||||||
|
@ -5064,7 +5064,7 @@ recursive_dump_type (struct type *type, int spaces)
|
||||||
puts_filtered ("\n");
|
puts_filtered ("\n");
|
||||||
|
|
||||||
printfi_filtered (spaces, "flags");
|
printfi_filtered (spaces, "flags");
|
||||||
if (TYPE_UNSIGNED (type))
|
if (type->is_unsigned ())
|
||||||
{
|
{
|
||||||
puts_filtered (" TYPE_UNSIGNED");
|
puts_filtered (" TYPE_UNSIGNED");
|
||||||
}
|
}
|
||||||
|
|
|
@ -210,11 +210,6 @@ enum type_instance_flag_value : unsigned
|
||||||
|
|
||||||
DEF_ENUM_FLAGS_TYPE (enum type_instance_flag_value, type_instance_flags);
|
DEF_ENUM_FLAGS_TYPE (enum type_instance_flag_value, type_instance_flags);
|
||||||
|
|
||||||
/* * Unsigned integer type. If this is not set for a TYPE_CODE_INT,
|
|
||||||
the type is signed (unless TYPE_NOSIGN (below) is set). */
|
|
||||||
|
|
||||||
#define TYPE_UNSIGNED(t) ((t)->is_unsigned ())
|
|
||||||
|
|
||||||
/* * No sign for this type. In C++, "char", "signed char", and
|
/* * No sign for this type. In C++, "char", "signed char", and
|
||||||
"unsigned char" are distinct types; so we need an extra flag to
|
"unsigned char" are distinct types; so we need an extra flag to
|
||||||
indicate the absence of a sign! */
|
indicate the absence of a sign! */
|
||||||
|
@ -1068,6 +1063,9 @@ struct type
|
||||||
return this->bounds ()->bit_stride ();
|
return this->bounds ()->bit_stride ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Unsigned integer type. If this is not set for a TYPE_CODE_INT,
|
||||||
|
the type is signed (unless TYPE_NOSIGN is set). */
|
||||||
|
|
||||||
bool is_unsigned () const
|
bool is_unsigned () const
|
||||||
{
|
{
|
||||||
return this->main_type->m_flag_unsigned;
|
return this->main_type->m_flag_unsigned;
|
||||||
|
|
|
@ -527,7 +527,7 @@ vlscm_convert_typed_number (const char *func_name, int obj_arg_pos, SCM obj,
|
||||||
if (is_integral_type (type)
|
if (is_integral_type (type)
|
||||||
|| type->code () == TYPE_CODE_PTR)
|
|| type->code () == TYPE_CODE_PTR)
|
||||||
{
|
{
|
||||||
if (TYPE_UNSIGNED (type))
|
if (type->is_unsigned ())
|
||||||
{
|
{
|
||||||
ULONGEST max;
|
ULONGEST max;
|
||||||
|
|
||||||
|
@ -573,7 +573,7 @@ vlscm_convert_typed_number (const char *func_name, int obj_arg_pos, SCM obj,
|
||||||
static int
|
static int
|
||||||
vlscm_integer_fits_p (SCM obj, struct type *type)
|
vlscm_integer_fits_p (SCM obj, struct type *type)
|
||||||
{
|
{
|
||||||
if (TYPE_UNSIGNED (type))
|
if (type->is_unsigned ())
|
||||||
{
|
{
|
||||||
ULONGEST max;
|
ULONGEST max;
|
||||||
|
|
||||||
|
|
|
@ -888,7 +888,7 @@ gdbscm_value_to_integer (SCM self)
|
||||||
}
|
}
|
||||||
|
|
||||||
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
|
GDBSCM_HANDLE_GDB_EXCEPTION (exc);
|
||||||
if (TYPE_UNSIGNED (type))
|
if (type->is_unsigned ())
|
||||||
return gdbscm_scm_from_ulongest (l);
|
return gdbscm_scm_from_ulongest (l);
|
||||||
else
|
else
|
||||||
return gdbscm_scm_from_longest (l);
|
return gdbscm_scm_from_longest (l);
|
||||||
|
@ -930,7 +930,7 @@ gdbscm_value_to_real (SCM self)
|
||||||
d = target_float_to_host_double (value_contents (value), type);
|
d = target_float_to_host_double (value_contents (value), type);
|
||||||
check = value_from_host_double (type, d);
|
check = value_from_host_double (type, d);
|
||||||
}
|
}
|
||||||
else if (TYPE_UNSIGNED (type))
|
else if (type->is_unsigned ())
|
||||||
{
|
{
|
||||||
d = (ULONGEST) value_as_long (value);
|
d = (ULONGEST) value_as_long (value);
|
||||||
check = value_from_ulongest (type, (ULONGEST) d);
|
check = value_from_ulongest (type, (ULONGEST) d);
|
||||||
|
|
|
@ -381,7 +381,7 @@ m2_get_discrete_bounds (struct type *type, LONGEST *lowp, LONGEST *highp)
|
||||||
case TYPE_CODE_CHAR:
|
case TYPE_CODE_CHAR:
|
||||||
if (TYPE_LENGTH (type) < sizeof (LONGEST))
|
if (TYPE_LENGTH (type) < sizeof (LONGEST))
|
||||||
{
|
{
|
||||||
if (!TYPE_UNSIGNED (type))
|
if (!type->is_unsigned ())
|
||||||
{
|
{
|
||||||
*lowp = -(1 << (TYPE_LENGTH (type) * TARGET_CHAR_BIT - 1));
|
*lowp = -(1 << (TYPE_LENGTH (type) * TARGET_CHAR_BIT - 1));
|
||||||
*highp = -*lowp - 1;
|
*highp = -*lowp - 1;
|
||||||
|
|
|
@ -5091,7 +5091,7 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
|
||||||
|| typecode == TYPE_CODE_INT))
|
|| typecode == TYPE_CODE_INT))
|
||||||
|| (partial_len < 4
|
|| (partial_len < 4
|
||||||
&& typecode == TYPE_CODE_INT
|
&& typecode == TYPE_CODE_INT
|
||||||
&& !TYPE_UNSIGNED (arg_type)))
|
&& !arg_type->is_unsigned ()))
|
||||||
regval = extract_signed_integer (val, partial_len,
|
regval = extract_signed_integer (val, partial_len,
|
||||||
byte_order);
|
byte_order);
|
||||||
else
|
else
|
||||||
|
|
|
@ -99,7 +99,7 @@ lookup_opencl_vector_type (struct gdbarch *gdbarch, enum type_code code,
|
||||||
if (types[i]->code () == TYPE_CODE_ARRAY && TYPE_VECTOR (types[i])
|
if (types[i]->code () == TYPE_CODE_ARRAY && TYPE_VECTOR (types[i])
|
||||||
&& get_array_bounds (types[i], &lowb, &highb)
|
&& get_array_bounds (types[i], &lowb, &highb)
|
||||||
&& TYPE_TARGET_TYPE (types[i])->code () == code
|
&& TYPE_TARGET_TYPE (types[i])->code () == code
|
||||||
&& TYPE_UNSIGNED (TYPE_TARGET_TYPE (types[i])) == flag_unsigned
|
&& TYPE_TARGET_TYPE (types[i])->is_unsigned () == flag_unsigned
|
||||||
&& TYPE_LENGTH (TYPE_TARGET_TYPE (types[i])) == el_length
|
&& TYPE_LENGTH (TYPE_TARGET_TYPE (types[i])) == el_length
|
||||||
&& TYPE_LENGTH (types[i]) == length
|
&& TYPE_LENGTH (types[i]) == length
|
||||||
&& highb - lowb + 1 == n)
|
&& highb - lowb + 1 == n)
|
||||||
|
@ -338,7 +338,7 @@ create_value (struct gdbarch *gdbarch, struct value *val, enum noside noside,
|
||||||
struct type *dst_type =
|
struct type *dst_type =
|
||||||
lookup_opencl_vector_type (gdbarch, elm_type->code (),
|
lookup_opencl_vector_type (gdbarch, elm_type->code (),
|
||||||
TYPE_LENGTH (elm_type),
|
TYPE_LENGTH (elm_type),
|
||||||
TYPE_UNSIGNED (elm_type), n);
|
elm_type->is_unsigned (), n);
|
||||||
|
|
||||||
if (dst_type == NULL)
|
if (dst_type == NULL)
|
||||||
dst_type = init_vector_type (elm_type, n);
|
dst_type = init_vector_type (elm_type, n);
|
||||||
|
@ -602,7 +602,7 @@ vector_relop (struct expression *exp, struct value *val1, struct value *val2,
|
||||||
/* Check whether the vector types are compatible. */
|
/* Check whether the vector types are compatible. */
|
||||||
if (eltype1->code () != eltype2->code ()
|
if (eltype1->code () != eltype2->code ()
|
||||||
|| TYPE_LENGTH (eltype1) != TYPE_LENGTH (eltype2)
|
|| TYPE_LENGTH (eltype1) != TYPE_LENGTH (eltype2)
|
||||||
|| TYPE_UNSIGNED (eltype1) != TYPE_UNSIGNED (eltype2)
|
|| eltype1->is_unsigned () != eltype2->is_unsigned ()
|
||||||
|| lowb1 != lowb2 || highb1 != highb2)
|
|| lowb1 != lowb2 || highb1 != highb2)
|
||||||
error (_("Cannot perform operation on vectors with different types"));
|
error (_("Cannot perform operation on vectors with different types"));
|
||||||
|
|
||||||
|
@ -912,7 +912,7 @@ Cannot perform conditional operation on incompatible types"));
|
||||||
/* Throw an error if the types of arg2 or arg3 are incompatible. */
|
/* Throw an error if the types of arg2 or arg3 are incompatible. */
|
||||||
if (eltype2->code () != eltype3->code ()
|
if (eltype2->code () != eltype3->code ()
|
||||||
|| TYPE_LENGTH (eltype2) != TYPE_LENGTH (eltype3)
|
|| TYPE_LENGTH (eltype2) != TYPE_LENGTH (eltype3)
|
||||||
|| TYPE_UNSIGNED (eltype2) != TYPE_UNSIGNED (eltype3)
|
|| eltype2->is_unsigned () != eltype3->is_unsigned ()
|
||||||
|| lowb2 != lowb3 || highb2 != highb3)
|
|| lowb2 != lowb3 || highb2 != highb3)
|
||||||
error (_("\
|
error (_("\
|
||||||
Cannot perform operation on vectors with different types"));
|
Cannot perform operation on vectors with different types"));
|
||||||
|
|
|
@ -368,7 +368,7 @@ print_scalar_formatted (const gdb_byte *valaddr, struct type *type,
|
||||||
a negative signed value (e.g. "print/u (short)-1" should print 65535
|
a negative signed value (e.g. "print/u (short)-1" should print 65535
|
||||||
(if shorts are 16 bits) instead of 4294967295). */
|
(if shorts are 16 bits) instead of 4294967295). */
|
||||||
if (options->format != 'c'
|
if (options->format != 'c'
|
||||||
&& (options->format != 'd' || TYPE_UNSIGNED (type)))
|
&& (options->format != 'd' || type->is_unsigned ()))
|
||||||
{
|
{
|
||||||
if (len < TYPE_LENGTH (type) && byte_order == BFD_ENDIAN_BIG)
|
if (len < TYPE_LENGTH (type) && byte_order == BFD_ENDIAN_BIG)
|
||||||
valaddr += TYPE_LENGTH (type) - len;
|
valaddr += TYPE_LENGTH (type) - len;
|
||||||
|
@ -452,7 +452,7 @@ print_scalar_formatted (const gdb_byte *valaddr, struct type *type,
|
||||||
case 0:
|
case 0:
|
||||||
if (type->code () != TYPE_CODE_FLT)
|
if (type->code () != TYPE_CODE_FLT)
|
||||||
{
|
{
|
||||||
print_decimal_chars (stream, valaddr, len, !TYPE_UNSIGNED (type),
|
print_decimal_chars (stream, valaddr, len, !type->is_unsigned (),
|
||||||
byte_order);
|
byte_order);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -478,7 +478,7 @@ print_scalar_formatted (const gdb_byte *valaddr, struct type *type,
|
||||||
val_long.emplace (unpack_long (type, valaddr));
|
val_long.emplace (unpack_long (type, valaddr));
|
||||||
|
|
||||||
opts.format = 0;
|
opts.format = 0;
|
||||||
if (TYPE_UNSIGNED (type))
|
if (type->is_unsigned ())
|
||||||
type = builtin_type (gdbarch)->builtin_true_unsigned_char;
|
type = builtin_type (gdbarch)->builtin_true_unsigned_char;
|
||||||
else
|
else
|
||||||
type = builtin_type (gdbarch)->builtin_true_char;
|
type = builtin_type (gdbarch)->builtin_true_char;
|
||||||
|
|
|
@ -1694,7 +1694,7 @@ valpy_int (PyObject *self)
|
||||||
GDB_PY_HANDLE_EXCEPTION (except);
|
GDB_PY_HANDLE_EXCEPTION (except);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TYPE_UNSIGNED (type))
|
if (type->is_unsigned ())
|
||||||
return gdb_py_object_from_ulongest (l).release ();
|
return gdb_py_object_from_ulongest (l).release ();
|
||||||
else
|
else
|
||||||
return gdb_py_object_from_longest (l).release ();
|
return gdb_py_object_from_longest (l).release ();
|
||||||
|
@ -1730,7 +1730,7 @@ valpy_long (PyObject *self)
|
||||||
GDB_PY_HANDLE_EXCEPTION (except);
|
GDB_PY_HANDLE_EXCEPTION (except);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TYPE_UNSIGNED (type))
|
if (type->is_unsigned ())
|
||||||
return gdb_py_long_from_ulongest (l);
|
return gdb_py_long_from_ulongest (l);
|
||||||
else
|
else
|
||||||
return gdb_py_long_from_longest (l);
|
return gdb_py_long_from_longest (l);
|
||||||
|
|
|
@ -212,7 +212,7 @@ static bool
|
||||||
rust_u8_type_p (struct type *type)
|
rust_u8_type_p (struct type *type)
|
||||||
{
|
{
|
||||||
return (type->code () == TYPE_CODE_INT
|
return (type->code () == TYPE_CODE_INT
|
||||||
&& TYPE_UNSIGNED (type)
|
&& type->is_unsigned ()
|
||||||
&& TYPE_LENGTH (type) == 1);
|
&& TYPE_LENGTH (type) == 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -223,7 +223,7 @@ rust_chartype_p (struct type *type)
|
||||||
{
|
{
|
||||||
return (type->code () == TYPE_CODE_CHAR
|
return (type->code () == TYPE_CODE_CHAR
|
||||||
&& TYPE_LENGTH (type) == 4
|
&& TYPE_LENGTH (type) == 4
|
||||||
&& TYPE_UNSIGNED (type));
|
&& type->is_unsigned ());
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If VALUE represents a trait object pointer, return the underlying
|
/* If VALUE represents a trait object pointer, return the underlying
|
||||||
|
@ -542,7 +542,7 @@ rust_value_print_inner (struct value *val, struct ui_file *stream,
|
||||||
|
|
||||||
case TYPE_CODE_INT:
|
case TYPE_CODE_INT:
|
||||||
/* Recognize the unit type. */
|
/* Recognize the unit type. */
|
||||||
if (TYPE_UNSIGNED (type) && TYPE_LENGTH (type) == 0
|
if (type->is_unsigned () && TYPE_LENGTH (type) == 0
|
||||||
&& type->name () != NULL && strcmp (type->name (), "()") == 0)
|
&& type->name () != NULL && strcmp (type->name (), "()") == 0)
|
||||||
{
|
{
|
||||||
fputs_filtered ("()", stream);
|
fputs_filtered ("()", stream);
|
||||||
|
|
|
@ -1818,7 +1818,7 @@ s390_handle_arg (struct s390_arg_state *as, struct value *arg,
|
||||||
/* Place value in least significant bits of the register or
|
/* Place value in least significant bits of the register or
|
||||||
memory word and sign- or zero-extend to full word size.
|
memory word and sign- or zero-extend to full word size.
|
||||||
This also applies to a struct or union. */
|
This also applies to a struct or union. */
|
||||||
val = TYPE_UNSIGNED (type)
|
val = type->is_unsigned ()
|
||||||
? extract_unsigned_integer (value_contents (arg),
|
? extract_unsigned_integer (value_contents (arg),
|
||||||
length, byte_order)
|
length, byte_order)
|
||||||
: extract_signed_integer (value_contents (arg),
|
: extract_signed_integer (value_contents (arg),
|
||||||
|
@ -2046,7 +2046,7 @@ s390_register_return_value (struct gdbarch *gdbarch, struct type *type,
|
||||||
if (out != NULL)
|
if (out != NULL)
|
||||||
regcache->cooked_read_part (S390_R2_REGNUM, word_size - length, length,
|
regcache->cooked_read_part (S390_R2_REGNUM, word_size - length, length,
|
||||||
out);
|
out);
|
||||||
else if (TYPE_UNSIGNED (type))
|
else if (type->is_unsigned ())
|
||||||
regcache_cooked_write_unsigned
|
regcache_cooked_write_unsigned
|
||||||
(regcache, S390_R2_REGNUM,
|
(regcache, S390_R2_REGNUM,
|
||||||
extract_unsigned_integer (in, length, byte_order));
|
extract_unsigned_integer (in, length, byte_order));
|
||||||
|
|
|
@ -1091,9 +1091,9 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type,
|
||||||
&& SYMBOL_TYPE (sym)->code () == TYPE_CODE_INT)
|
&& SYMBOL_TYPE (sym)->code () == TYPE_CODE_INT)
|
||||||
{
|
{
|
||||||
SYMBOL_TYPE (sym) =
|
SYMBOL_TYPE (sym) =
|
||||||
TYPE_UNSIGNED (SYMBOL_TYPE (sym))
|
(SYMBOL_TYPE (sym)->is_unsigned ()
|
||||||
? objfile_type (objfile)->builtin_unsigned_int
|
? objfile_type (objfile)->builtin_unsigned_int
|
||||||
: objfile_type (objfile)->builtin_int;
|
: objfile_type (objfile)->builtin_int);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -629,7 +629,7 @@ print_type_scalar (struct type *type, LONGEST val, struct ui_file *stream)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TYPE_CODE_INT:
|
case TYPE_CODE_INT:
|
||||||
print_longest (stream, TYPE_UNSIGNED (type) ? 'u' : 'd', 0, val);
|
print_longest (stream, type->is_unsigned () ? 'u' : 'd', 0, val);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TYPE_CODE_CHAR:
|
case TYPE_CODE_CHAR:
|
||||||
|
|
|
@ -883,7 +883,7 @@ value_args_as_target_float (struct value *arg1, struct value *arg2,
|
||||||
else if (is_integral_type (type1))
|
else if (is_integral_type (type1))
|
||||||
{
|
{
|
||||||
*eff_type_x = type2;
|
*eff_type_x = type2;
|
||||||
if (TYPE_UNSIGNED (type1))
|
if (type1->is_unsigned ())
|
||||||
target_float_from_ulongest (x, *eff_type_x, value_as_long (arg1));
|
target_float_from_ulongest (x, *eff_type_x, value_as_long (arg1));
|
||||||
else
|
else
|
||||||
target_float_from_longest (x, *eff_type_x, value_as_long (arg1));
|
target_float_from_longest (x, *eff_type_x, value_as_long (arg1));
|
||||||
|
@ -902,7 +902,7 @@ value_args_as_target_float (struct value *arg1, struct value *arg2,
|
||||||
else if (is_integral_type (type2))
|
else if (is_integral_type (type2))
|
||||||
{
|
{
|
||||||
*eff_type_y = type1;
|
*eff_type_y = type1;
|
||||||
if (TYPE_UNSIGNED (type2))
|
if (type2->is_unsigned ())
|
||||||
target_float_from_ulongest (y, *eff_type_y, value_as_long (arg2));
|
target_float_from_ulongest (y, *eff_type_y, value_as_long (arg2));
|
||||||
else
|
else
|
||||||
target_float_from_longest (y, *eff_type_y, value_as_long (arg2));
|
target_float_from_longest (y, *eff_type_y, value_as_long (arg2));
|
||||||
|
@ -940,9 +940,9 @@ promotion_type (struct type *type1, struct type *type2)
|
||||||
result_type = type1;
|
result_type = type1;
|
||||||
else if (TYPE_LENGTH (type2) > TYPE_LENGTH (type1))
|
else if (TYPE_LENGTH (type2) > TYPE_LENGTH (type1))
|
||||||
result_type = type2;
|
result_type = type2;
|
||||||
else if (TYPE_UNSIGNED (type1))
|
else if (type1->is_unsigned ())
|
||||||
result_type = type1;
|
result_type = type1;
|
||||||
else if (TYPE_UNSIGNED (type2))
|
else if (type2->is_unsigned ())
|
||||||
result_type = type2;
|
result_type = type2;
|
||||||
else
|
else
|
||||||
result_type = type1;
|
result_type = type1;
|
||||||
|
@ -1162,7 +1162,7 @@ scalar_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
|
||||||
else
|
else
|
||||||
result_type = promotion_type (type1, type2);
|
result_type = promotion_type (type1, type2);
|
||||||
|
|
||||||
if (TYPE_UNSIGNED (result_type))
|
if (result_type->is_unsigned ())
|
||||||
{
|
{
|
||||||
LONGEST v2_signed = value_as_long (arg2);
|
LONGEST v2_signed = value_as_long (arg2);
|
||||||
ULONGEST v1, v2, v = 0;
|
ULONGEST v1, v2, v = 0;
|
||||||
|
@ -1497,7 +1497,7 @@ vector_binop (struct value *val1, struct value *val2, enum exp_opcode op)
|
||||||
|
|
||||||
if (eltype1->code () != eltype2->code ()
|
if (eltype1->code () != eltype2->code ()
|
||||||
|| elsize != TYPE_LENGTH (eltype2)
|
|| elsize != TYPE_LENGTH (eltype2)
|
||||||
|| TYPE_UNSIGNED (eltype1) != TYPE_UNSIGNED (eltype2)
|
|| eltype1->is_unsigned () != eltype2->is_unsigned ()
|
||||||
|| low_bound1 != low_bound2 || high_bound1 != high_bound2)
|
|| low_bound1 != low_bound2 || high_bound1 != high_bound2)
|
||||||
error (_("Cannot perform operation on vectors with different types"));
|
error (_("Cannot perform operation on vectors with different types"));
|
||||||
|
|
||||||
|
|
|
@ -462,7 +462,7 @@ value_cast (struct type *type, struct value *arg2)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The only option left is an integral type. */
|
/* The only option left is an integral type. */
|
||||||
if (TYPE_UNSIGNED (type2))
|
if (type2->is_unsigned ())
|
||||||
return value_from_ulongest (to_type, value_as_long (arg2));
|
return value_from_ulongest (to_type, value_as_long (arg2));
|
||||||
else
|
else
|
||||||
return value_from_longest (to_type, value_as_long (arg2));
|
return value_from_longest (to_type, value_as_long (arg2));
|
||||||
|
@ -1230,7 +1230,7 @@ value_assign (struct value *toval, struct value *fromval)
|
||||||
LONGEST valmask = (((ULONGEST) 1) << value_bitsize (toval)) - 1;
|
LONGEST valmask = (((ULONGEST) 1) << value_bitsize (toval)) - 1;
|
||||||
|
|
||||||
fieldval &= valmask;
|
fieldval &= valmask;
|
||||||
if (!TYPE_UNSIGNED (type)
|
if (!type->is_unsigned ()
|
||||||
&& (fieldval & (valmask ^ (valmask >> 1))))
|
&& (fieldval & (valmask ^ (valmask >> 1))))
|
||||||
fieldval |= ~valmask;
|
fieldval |= ~valmask;
|
||||||
|
|
||||||
|
|
|
@ -769,7 +769,7 @@ generic_value_print_char (struct value *value, struct ui_file *stream,
|
||||||
const gdb_byte *valaddr = value_contents_for_printing (value);
|
const gdb_byte *valaddr = value_contents_for_printing (value);
|
||||||
|
|
||||||
LONGEST val = unpack_long (type, valaddr);
|
LONGEST val = unpack_long (type, valaddr);
|
||||||
if (TYPE_UNSIGNED (type))
|
if (type->is_unsigned ())
|
||||||
fprintf_filtered (stream, "%u", (unsigned int) val);
|
fprintf_filtered (stream, "%u", (unsigned int) val);
|
||||||
else
|
else
|
||||||
fprintf_filtered (stream, "%d", (int) val);
|
fprintf_filtered (stream, "%d", (int) val);
|
||||||
|
|
|
@ -2761,7 +2761,7 @@ unpack_long (struct type *type, const gdb_byte *valaddr)
|
||||||
enum bfd_endian byte_order = type_byte_order (type);
|
enum bfd_endian byte_order = type_byte_order (type);
|
||||||
enum type_code code = type->code ();
|
enum type_code code = type->code ();
|
||||||
int len = TYPE_LENGTH (type);
|
int len = TYPE_LENGTH (type);
|
||||||
int nosign = TYPE_UNSIGNED (type);
|
int nosign = type->is_unsigned ();
|
||||||
|
|
||||||
switch (code)
|
switch (code)
|
||||||
{
|
{
|
||||||
|
@ -3145,7 +3145,7 @@ unpack_bits_as_long (struct type *field_type, const gdb_byte *valaddr,
|
||||||
{
|
{
|
||||||
valmask = (((ULONGEST) 1) << bitsize) - 1;
|
valmask = (((ULONGEST) 1) << bitsize) - 1;
|
||||||
val &= valmask;
|
val &= valmask;
|
||||||
if (!TYPE_UNSIGNED (field_type))
|
if (!field_type->is_unsigned ())
|
||||||
{
|
{
|
||||||
if (val & (valmask ^ (valmask >> 1)))
|
if (val & (valmask ^ (valmask >> 1)))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue