Move value_ref_policy methods out-of-line
authorTom Tromey <tom@tromey.com>
Tue, 31 Jan 2023 21:22:13 +0000 (14:22 -0700)
committerTom Tromey <tom@tromey.com>
Mon, 13 Feb 2023 22:22:16 +0000 (15:22 -0700)
This moves the value_ref_policy methods to be defined out-of-line.
This is a necessary step to change value_incref and value_decref to be
methods of value.

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

index 5738584291905f030f00531a233c33c81a705e3a..b18eacef15b125dbb52ad99992d7031f957d576a 100644 (file)
@@ -124,15 +124,8 @@ extern void value_decref (struct value *val);
 
 struct value_ref_policy
 {
-  static void incref (struct value *ptr)
-  {
-    value_incref (ptr);
-  }
-
-  static void decref (struct value *ptr)
-  {
-    value_decref (ptr);
-  }
+  static void incref (struct value *ptr);
+  static void decref (struct value *ptr);
 };
 
 /* A gdb:;ref_ptr pointer to a struct value.  */
@@ -677,6 +670,18 @@ private:
                         int length) const;
 };
 
+inline void
+value_ref_policy::incref (struct value *ptr)
+{
+  value_incref (ptr);
+}
+
+inline void
+value_ref_policy::decref (struct value *ptr)
+{
+  value_decref (ptr);
+}
+
 /* Returns value_type or value_enclosing_type depending on
    value_print_options.objectprint.