From 3cac569393f0b3a23f8632c19b7f19eaf63d44d1 Mon Sep 17 00:00:00 2001
From: Matthias Diener <mdiener@illinois.edu>
Date: Tue, 9 Aug 2022 13:39:27 -0500
Subject: [PATCH] Mark some destructors virtual, partially based on clang
 warnings

Co-authored-by: Andreas Kloeckner <inform@tiker.net>
---
 src/wrap_cl.hpp      | 7 ++++++-
 src/wrap_mempool.cpp | 4 +++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/wrap_cl.hpp b/src/wrap_cl.hpp
index 47f392db..d013519d 100644
--- a/src/wrap_cl.hpp
+++ b/src/wrap_cl.hpp
@@ -2166,6 +2166,9 @@ namespace pyopencl
       }
 
       py::object get_info(cl_mem_info param_name) const;
+
+      virtual ~memory_object_holder()
+      { }
   };
 
 
@@ -2213,7 +2216,7 @@ namespace pyopencl
         m_valid = false;
       }
 
-      virtual ~memory_object()
+      ~memory_object()
       {
         if (m_valid)
           release();
@@ -3573,6 +3576,8 @@ namespace pyopencl
       virtual void *svm_ptr() const = 0;
       // may throw size_not_available
       virtual size_t size() const = 0;
+      virtual ~svm_pointer()
+      { }
   };
 
   // }}}
diff --git a/src/wrap_mempool.cpp b/src/wrap_mempool.cpp
index 3ba6fb60..cb711b1b 100644
--- a/src/wrap_mempool.cpp
+++ b/src/wrap_mempool.cpp
@@ -148,7 +148,6 @@ namespace pyopencl {
       }
   };
 
-  const unsigned zero = 0;
 
   class immediate_buffer_allocator : public buffer_allocator_base
   {
@@ -451,6 +450,9 @@ namespace pyopencl {
         : super(p, s)
       { }
 
+      virtual ~pooled_svm()
+      { }
+
       void *svm_ptr() const
       { return m_ptr.ptr; }
 
-- 
GitLab