[v3,44/50] Add value::set_modifiable

Message ID 20230209-submit-value-fixups-2023-v3-44-45e91a20c742@tromey.com
State Committed
Commit e6cf1e1b42c1e44610cc8b2997f883275f0b244d
Headers
Series Use methods for struct value |

Commit Message

Tom Tromey Feb. 13, 2023, 3:16 a.m. UTC
  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>
---
 gdb/value.c | 4 ++--
 gdb/value.h | 4 ++++
 2 files changed, 6 insertions(+), 2 deletions(-)
  

Patch

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