mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 09:14:14 +08:00
Turn deprecated_value_modifiable into method
This changes deprecated_value_modifiable to be a method of value. Approved-By: Simon Marchi <simon.marchi@efficios.com>
This commit is contained in:
@ -2888,7 +2888,7 @@ ada_value_assign (struct value *toval, struct value *fromval)
|
|||||||
if (ada_is_direct_array_type (fromval->type ()))
|
if (ada_is_direct_array_type (fromval->type ()))
|
||||||
fromval = ada_coerce_to_simple_array (fromval);
|
fromval = ada_coerce_to_simple_array (fromval);
|
||||||
|
|
||||||
if (!deprecated_value_modifiable (toval))
|
if (!toval->deprecated_modifiable ())
|
||||||
error (_("Left operand of assignment is not a modifiable lvalue."));
|
error (_("Left operand of assignment is not a modifiable lvalue."));
|
||||||
|
|
||||||
if (VALUE_LVAL (toval) == lval_memory
|
if (VALUE_LVAL (toval) == lval_memory
|
||||||
@ -9531,7 +9531,7 @@ ada_aggregate_operation::assign_aggregate (struct value *container,
|
|||||||
if (ada_is_direct_array_type (container->type ()))
|
if (ada_is_direct_array_type (container->type ()))
|
||||||
container = ada_coerce_to_simple_array (container);
|
container = ada_coerce_to_simple_array (container);
|
||||||
lhs = ada_coerce_ref (lhs);
|
lhs = ada_coerce_ref (lhs);
|
||||||
if (!deprecated_value_modifiable (lhs))
|
if (!lhs->deprecated_modifiable ())
|
||||||
error (_("Left operand of assignment is not a modifiable lvalue."));
|
error (_("Left operand of assignment is not a modifiable lvalue."));
|
||||||
|
|
||||||
lhs_type = check_typedef (lhs->type ());
|
lhs_type = check_typedef (lhs->type ());
|
||||||
|
@ -10452,7 +10452,7 @@ can_use_hardware_watchpoint (const std::vector<value_ref_ptr> &vals)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (VALUE_LVAL (v) != not_lval
|
else if (VALUE_LVAL (v) != not_lval
|
||||||
&& deprecated_value_modifiable (v) == 0)
|
&& v->deprecated_modifiable () == 0)
|
||||||
return 0; /* These are values from the history (e.g., $1). */
|
return 0; /* These are values from the history (e.g., $1). */
|
||||||
else if (VALUE_LVAL (v) == lval_register)
|
else if (VALUE_LVAL (v) == lval_register)
|
||||||
return 0; /* Cannot watch a register with a HW watchpoint. */
|
return 0; /* Cannot watch a register with a HW watchpoint. */
|
||||||
|
@ -687,7 +687,7 @@ eval_opencl_assign (struct type *expect_type, struct expression *exp,
|
|||||||
return arg1;
|
return arg1;
|
||||||
|
|
||||||
struct type *type1 = arg1->type ();
|
struct type *type1 = arg1->type ();
|
||||||
if (deprecated_value_modifiable (arg1)
|
if (arg1->deprecated_modifiable ()
|
||||||
&& VALUE_LVAL (arg1) != lval_internalvar)
|
&& VALUE_LVAL (arg1) != lval_internalvar)
|
||||||
arg2 = opencl_value_cast (type1, arg2);
|
arg2 = opencl_value_cast (type1, arg2);
|
||||||
|
|
||||||
|
@ -2455,7 +2455,7 @@ ppc_linux_nat_target::num_memory_accesses (const std::vector<value_ref_ptr>
|
|||||||
struct value *v = iter.get ();
|
struct value *v = iter.get ();
|
||||||
|
|
||||||
/* Constants and values from the history are fine. */
|
/* Constants and values from the history are fine. */
|
||||||
if (VALUE_LVAL (v) == not_lval || deprecated_value_modifiable (v) == 0)
|
if (VALUE_LVAL (v) == not_lval || v->->deprecated_modifiable () == 0)
|
||||||
continue;
|
continue;
|
||||||
else if (VALUE_LVAL (v) == lval_memory)
|
else if (VALUE_LVAL (v) == lval_memory)
|
||||||
{
|
{
|
||||||
|
@ -1089,7 +1089,7 @@ value_assign (struct value *toval, struct value *fromval)
|
|||||||
struct value *val;
|
struct value *val;
|
||||||
struct frame_id old_frame;
|
struct frame_id old_frame;
|
||||||
|
|
||||||
if (!deprecated_value_modifiable (toval))
|
if (!toval->deprecated_modifiable ())
|
||||||
error (_("Left operand of assignment is not a modifiable lvalue."));
|
error (_("Left operand of assignment is not a modifiable lvalue."));
|
||||||
|
|
||||||
toval = coerce_ref (toval);
|
toval = coerce_ref (toval);
|
||||||
|
@ -1515,11 +1515,6 @@ deprecated_value_regnum_hack (struct value *value)
|
|||||||
return &value->m_location.reg.regnum;
|
return &value->m_location.reg.regnum;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
deprecated_value_modifiable (const struct value *value)
|
|
||||||
{
|
|
||||||
return value->m_modifiable;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return a mark in the value chain. All values allocated after the
|
/* Return a mark in the value chain. All values allocated after the
|
||||||
mark is obtained (except for those released) are subject to being freed
|
mark is obtained (except for those released) are subject to being freed
|
||||||
|
12
gdb/value.h
12
gdb/value.h
@ -209,6 +209,12 @@ struct value
|
|||||||
void set_offset (LONGEST offset)
|
void set_offset (LONGEST offset)
|
||||||
{ m_offset = offset; }
|
{ m_offset = offset; }
|
||||||
|
|
||||||
|
/* The comment from "struct value" reads: ``Is it modifiable? Only
|
||||||
|
relevant if lval != not_lval.''. Shouldn't the value instead be
|
||||||
|
not_lval and be done with it? */
|
||||||
|
int deprecated_modifiable () const
|
||||||
|
{ return m_modifiable; }
|
||||||
|
|
||||||
|
|
||||||
/* Type of value; either not an lval, or one of the various
|
/* Type of value; either not an lval, or one of the various
|
||||||
different possible kinds of lval. */
|
different possible kinds of lval. */
|
||||||
@ -387,12 +393,6 @@ struct value
|
|||||||
ULONGEST m_limited_length = 0;
|
ULONGEST m_limited_length = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* The comment from "struct value" reads: ``Is it modifiable? Only
|
|
||||||
relevant if lval != not_lval.''. Shouldn't the value instead be
|
|
||||||
not_lval and be done with it? */
|
|
||||||
|
|
||||||
extern int deprecated_value_modifiable (const struct value *value);
|
|
||||||
|
|
||||||
/* If a value represents a C++ object, then the `type' field gives the
|
/* If a value represents a C++ object, then the `type' field gives the
|
||||||
object's compile-time type. If the object actually belongs to some
|
object's compile-time type. If the object actually belongs to some
|
||||||
class derived from `type', perhaps with other base classes and
|
class derived from `type', perhaps with other base classes and
|
||||||
|
Reference in New Issue
Block a user