[binutils-gdb] Make ~value private

Tom Tromey tromey@sourceware.org
Mon Feb 13 22:31:12 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=43b5fba22365c6ddd0d60324833f279364b577e7

commit 43b5fba22365c6ddd0d60324833f279364b577e7
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Feb 1 08:34:58 2023 -0700

    Make ~value private
    
    At the end of this series, I belatedly realized that values should
    only be destroyed by value_decref.  This patch marks the the
    destructor private to enforce this.
    
    Approved-By: Simon Marchi <simon.marchi@efficios.com>

Diff:
---
 gdb/value.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gdb/value.h b/gdb/value.h
index 7708530ddcc..07230662fdd 100644
--- a/gdb/value.h
+++ b/gdb/value.h
@@ -143,6 +143,12 @@ private:
   {
   }
 
+  /* Values can only be destroyed via the reference-counting
+     mechanism.  */
+  ~value ();
+
+  DISABLE_COPY_AND_ASSIGN (value);
+
 public:
 
   /* Allocate a lazy value for type TYPE.  Its actual content is
@@ -170,10 +176,6 @@ public:
      storage.  */
   struct value *copy () const;
 
-  ~value ();
-
-  DISABLE_COPY_AND_ASSIGN (value);
-
   /* Type of the value.  */
   struct type *type () const
   { return m_type; }


More information about the Gdb-cvs mailing list