/* Copy the capability tag over, if it exists. */
if (prev_regnum == tdep->cap_reg_pcc && value_tagged (lr_value))
- {
- set_value_tagged (lr_value_adjusted, 1);
- set_value_tag (lr_value_adjusted, value_tag (lr_value));
- }
+ set_value_tag (lr_value_adjusted, value_tag (lr_value));
return lr_value_adjusted;
}
/* Copy the capability tag over, if it exists. */
if (regnum == tdep->cap_reg_pcc && value_tagged (lr_value))
- {
- set_value_tagged (lr_value_adjusted, 1);
- set_value_tag (lr_value_adjusted, value_tag (lr_value));
- }
+ set_value_tag (lr_value_adjusted, value_tag (lr_value));
return lr_value_adjusted;
}
if (aapcs64_cap)
{
regno = tdep->cap_reg_base + AARCH64_X0_REGNUM;
- set_value_tagged (value, true);
set_value_tag (value, true);
}
else
lazy (1),
initialized (1),
stack (0),
- tagged (0),
type (type_),
enclosing_type (type_)
{
+ if (type_ != nullptr
+ && (type_->code () == TYPE_CODE_CAPABILITY
+ || TYPE_CAPABILITY (type_)))
+ tagged = 1;
}
~value ()
LONGEST pointed_to_offset = 0;
/* The tag value, if tagged. */
- bool tag;
+ bool tag = false;
/* Actual contents of the value. Target byte-order. NULL or not
valid if lazy is nonzero. */
if (TYPE_CAPABILITY (type))
{
- set_value_tagged (val, true);
bool tag = gdbarch_get_cap_tag_from_address (get_value_arch (val), addr);
set_value_tag (val, tag);
}