gdb: add gdbarch_up
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 3 Oct 2022 16:56:30 +0000 (12:56 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Thu, 2 Feb 2023 15:02:34 +0000 (10:02 -0500)
Add a gdbarch_up unique pointer type, that calls gdbarch_free on
deletion.  This is used in the ROCm support patch at the end of this
series.

Change-Id: I4b808892d35d69a590ce83180f41afd91705b2c8
Approved-By: Andrew Burgess <aburgess@redhat.com>
gdb/gdbarch.h

index f4efd8c0bc7891878980736288d66b1cac90bb6d..f0399c2fa8888ec2fa1c4e3b486d1c51c6b18edb 100644 (file)
@@ -306,6 +306,14 @@ extern struct gdbarch *gdbarch_alloc (const struct gdbarch_info *info,
 
 extern void gdbarch_free (struct gdbarch *);
 
+struct gdbarch_deleter
+{
+  void operator() (gdbarch *arch) const
+  { gdbarch_free (arch); }
+};
+
+using gdbarch_up = std::unique_ptr<gdbarch, gdbarch_deleter>;
+
 /* Get the obstack owned by ARCH.  */
 
 extern obstack *gdbarch_obstack (gdbarch *arch);