aboutsummaryrefslogtreecommitdiff
path: root/gdb/valops.c
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2023-12-24 10:38:35 -0500
committerSimon Marchi <simon.marchi@polymtl.ca>2023-12-24 11:15:01 -0500
commit78f2fd84e832c49a496ab712512be058c0c2912b (patch)
treea3a2968753c42b5fe6b940166689a42d9466822d /gdb/valops.c
parent8b31004bd82d3833d042dc5d456e1279635734ab (diff)
downloadbinutils-78f2fd84e832c49a496ab712512be058c0c2912b.zip
binutils-78f2fd84e832c49a496ab712512be058c0c2912b.tar.gz
binutils-78f2fd84e832c49a496ab712512be058c0c2912b.tar.bz2
gdb: remove VALUE_REGNUM, add value::regnum
Remove VALUE_REGNUM, replace it with a method on struct value. Set `m_location.reg.regnum` directly from value::allocate_register_lazy, which is fine because allocate_register_lazy is a static creation function for struct value. Change-Id: Id632502357da971617d9dce1e2eab9b56dbcf52d
Diffstat (limited to 'gdb/valops.c')
-rw-r--r--gdb/valops.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/gdb/valops.c b/gdb/valops.c
index 5a5b3f1..16cdf1f 100644
--- a/gdb/valops.c
+++ b/gdb/valops.c
@@ -1194,8 +1194,7 @@ value_assign (struct value *toval, struct value *fromval)
case lval_register:
{
frame_info_ptr next_frame = frame_find_by_id (toval->next_frame_id ());
-
- int value_reg = VALUE_REGNUM (toval);
+ int value_reg = toval->regnum ();
if (next_frame == nullptr)
error (_("Value being assigned to is no longer active."));
@@ -1240,15 +1239,13 @@ value_assign (struct value *toval, struct value *fromval)
}
else
{
- if (gdbarch_convert_register_p (gdbarch, VALUE_REGNUM (toval),
- type))
+ if (gdbarch_convert_register_p (gdbarch, toval->regnum (), type))
{
/* If TOVAL is a special machine register requiring
conversion of program values to a special raw
format. */
- gdbarch_value_to_register (gdbarch,
- get_prev_frame_always (next_frame),
- VALUE_REGNUM (toval), type,
+ gdbarch_value_to_register (gdbarch, next_frame,
+ toval->regnum (), type,
fromval->contents ().data ());
}
else
@@ -1415,8 +1412,8 @@ address_of_variable (struct symbol *var, const struct block *b)
frame_info_ptr frame = frame_find_by_id (val->next_frame_id ());
gdb_assert (frame != nullptr);
- regname = gdbarch_register_name (get_frame_arch (frame),
- VALUE_REGNUM (val));
+ regname
+ = gdbarch_register_name (get_frame_arch (frame), val->regnum ());
gdb_assert (regname != nullptr && *regname != '\0');
error (_("Address requested for identifier "