Turn value_arch into method
authorTom Tromey <tom@tromey.com>
Tue, 31 Jan 2023 15:31:48 +0000 (08:31 -0700)
committerTom Tromey <tom@tromey.com>
Mon, 13 Feb 2023 22:21:07 +0000 (15:21 -0700)
This changes value_arch to be a method of value.  Much of this patch
was written by script.

Approved-By: Simon Marchi <simon.marchi@efficios.com>
gdb/valops.c
gdb/value.c
gdb/value.h

index 1cac24961832b0751fa34225fefdded19b589cc0..ae876b795d0aa1c293defd41c8f33080f035488a 100644 (file)
@@ -1045,7 +1045,7 @@ read_value_memory (struct value *val, LONGEST bit_offset,
                   gdb_byte *buffer, size_t length)
 {
   ULONGEST xfered_total = 0;
-  struct gdbarch *arch = get_value_arch (val);
+  struct gdbarch *arch = val->arch ();
   int unit_size = gdbarch_addressable_memory_unit_size (arch);
   enum target_object object;
 
index 9347acd09ce63dce9183f987ed83894b6738d424..8eb3cb203791df3a7c25d1e897cd3102a087c32a 100644 (file)
@@ -163,9 +163,9 @@ value::~value ()
 /* See value.h.  */
 
 struct gdbarch *
-get_value_arch (const struct value *value)
+value::arch () const
 {
-  return value->type ()->arch ();
+  return type ()->arch ();
 }
 
 int
@@ -1074,7 +1074,7 @@ set_value_parent (struct value *value, struct value *parent)
 gdb::array_view<gdb_byte>
 value_contents_raw (struct value *value)
 {
-  struct gdbarch *arch = get_value_arch (value);
+  struct gdbarch *arch = value->arch ();
   int unit_size = gdbarch_addressable_memory_unit_size (arch);
 
   allocate_value_contents (value, true);
@@ -1251,7 +1251,7 @@ value_contents_copy_raw (struct value *dst, LONGEST dst_offset,
                         struct value *src, LONGEST src_offset, LONGEST length)
 {
   LONGEST src_bit_offset, dst_bit_offset, bit_length;
-  struct gdbarch *arch = get_value_arch (src);
+  struct gdbarch *arch = src->arch ();
   int unit_size = gdbarch_addressable_memory_unit_size (arch);
 
   /* A lazy DST would make that this copy operation useless, since as
@@ -2324,7 +2324,7 @@ set_internalvar_component (struct internalvar *var,
     {
     case INTERNALVAR_VALUE:
       addr = value_contents_writeable (var->u.value).data ();
-      arch = get_value_arch (var->u.value);
+      arch = var->u.value->arch ();
       unit_size = gdbarch_addressable_memory_unit_size (arch);
 
       if (bitsize)
@@ -3048,7 +3048,7 @@ value_primitive_field (struct value *arg1, LONGEST offset,
 {
   struct value *v;
   struct type *type;
-  struct gdbarch *arch = get_value_arch (arg1);
+  struct gdbarch *arch = arg1->arch ();
   int unit_size = gdbarch_addressable_memory_unit_size (arch);
 
   arg_type = check_typedef (arg_type);
index 2b626adbb298cd6c52fd1d009b60523e6a709ab7..66297e455b94339a07ecedb929db6b17aa320391 100644 (file)
@@ -170,6 +170,9 @@ struct value
   void deprecated_set_type (struct type *type)
   { m_type = type; }
 
+  /* Return the gdbarch associated with the value. */
+  struct gdbarch *arch () const;
+
 
   /* Type of value; either not an lval, or one of the various
      different possible kinds of lval.  */
@@ -348,10 +351,6 @@ struct value
   ULONGEST m_limited_length = 0;
 };
 
-/* Return the gdbarch associated with the value. */
-
-extern struct gdbarch *get_value_arch (const struct value *value);
-
 /* Only used for bitfields; number of bits contained in them.  */
 
 extern LONGEST value_bitsize (const struct value *);