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 <simon.marchi@efficios.com>
This commit is contained in:
Tom Tromey 2023-02-01 08:25:21 -07:00
parent 6c49729e59
commit e6cf1e1b42
2 changed files with 6 additions and 2 deletions

View File

@ -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

View File

@ -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; }