From: Tom Tromey Date: Wed, 1 Feb 2023 15:25:21 +0000 (-0700) Subject: Add value::set_modifiable X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e6cf1e1b42c1e44610cc8b2997f883275f0b244d;p=binutils-gdb.git Add value::set_modifiable This introduces a value::set_modifiable and changes a couple of spots to use it. I'm not completely sure the comments by deprecated_modifiable are correct any more. Perhaps they should be removed and the method renamed. Like so many before me, though, I've deferred investigation of the issue. Approved-By: Simon Marchi --- diff --git a/gdb/value.c b/gdb/value.c index 1921aecdbc1..640053ddce5 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -1680,7 +1680,7 @@ record_latest_value (struct value *val) /* We preserve VALUE_LVAL so that the user can find out where it was fetched from. This is a bit dubious, because then *&$1 does not just return $1 but the current contents of that location. c'est la vie... */ - val->m_modifiable = 0; + val->set_modifiable (0); value_history.push_back (release_value (val)); @@ -2173,7 +2173,7 @@ set_internalvar (struct internalvar *var, struct value *val) default: new_kind = INTERNALVAR_VALUE; struct value *copy = val->copy (); - copy->m_modifiable = 1; + copy->set_modifiable (1); /* Force the value to be fetched from the target now, to avoid problems later when this internalvar is referenced and the target is gone or diff --git a/gdb/value.h b/gdb/value.h index 7e232f378ed..f35bfc7206c 100644 --- a/gdb/value.h +++ b/gdb/value.h @@ -229,6 +229,10 @@ public: int deprecated_modifiable () const { return m_modifiable; } + /* Set or clear the modifiable flag. */ + void set_modifiable (int val) + { m_modifiable = val; } + LONGEST pointed_to_offset () const { return m_pointed_to_offset; }