aboutsummaryrefslogtreecommitdiffstats
path: root/host
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2021-01-08 12:25:25 +0100
committerAaron Rossetto <aaron.rossetto@ni.com>2021-03-04 08:23:50 -0600
commit49e5ef81530684998bc4bc0934590cdaa81190ab (patch)
treea985c6e7864cb60a33e783910bcf2d072688d114 /host
parentdf6c2bebae7af7968165f6ad16e56d3f9fccef52 (diff)
downloaduhd-49e5ef81530684998bc4bc0934590cdaa81190ab.tar.gz
uhd-49e5ef81530684998bc4bc0934590cdaa81190ab.tar.bz2
uhd-49e5ef81530684998bc4bc0934590cdaa81190ab.zip
lib: Add some virtual dtors
Classes where we call delete (implicitly or explicitly) with a virtual inheritance structure need to declare dtors as virtual. This reduces compiler warnings with clang. There are no known bugs (yet) due to this.
Diffstat (limited to 'host')
-rw-r--r--host/lib/include/uhdlib/transport/inline_io_service.hpp2
-rw-r--r--host/lib/include/uhdlib/transport/io_service.hpp5
-rw-r--r--host/lib/include/uhdlib/transport/link_base.hpp8
-rw-r--r--host/lib/include/uhdlib/usrp/common/adf4001_ctrl.hpp1
-rw-r--r--host/lib/include/uhdlib/usrp/common/io_service_mgr.hpp2
-rw-r--r--host/lib/include/uhdlib/usrp/common/pwr_cal_mgr.hpp2
6 files changed, 19 insertions, 1 deletions
diff --git a/host/lib/include/uhdlib/transport/inline_io_service.hpp b/host/lib/include/uhdlib/transport/inline_io_service.hpp
index b44b0bad5..e1149cc3c 100644
--- a/host/lib/include/uhdlib/transport/inline_io_service.hpp
+++ b/host/lib/include/uhdlib/transport/inline_io_service.hpp
@@ -31,7 +31,7 @@ public:
return sptr(new inline_io_service());
}
- ~inline_io_service();
+ virtual ~inline_io_service();
void attach_recv_link(recv_link_if::sptr link) override;
void attach_send_link(send_link_if::sptr link) override;
diff --git a/host/lib/include/uhdlib/transport/io_service.hpp b/host/lib/include/uhdlib/transport/io_service.hpp
index 0cc2f86e3..c97ae49ea 100644
--- a/host/lib/include/uhdlib/transport/io_service.hpp
+++ b/host/lib/include/uhdlib/transport/io_service.hpp
@@ -104,6 +104,8 @@ class recv_io_if
public:
using sptr = std::shared_ptr<recv_io_if>;
+ virtual ~recv_io_if() = default;
+
/*!
* Callback for producing a flow control response (or any other response
* needed when a received frame_buff is released via
@@ -188,6 +190,8 @@ class send_io_if
public:
using sptr = std::shared_ptr<send_io_if>;
+ virtual ~send_io_if() = default;
+
/*!
* Callback for sending the packet. Callback should call release_send_buff()
* and update any internal state needed. For example, flow control state
@@ -366,6 +370,7 @@ public:
io_service() = default;
io_service(const io_service&) = delete;
io_service& operator=(const io_service&) = delete;
+ virtual ~io_service() = default;
};
}} // namespace uhd::transport
diff --git a/host/lib/include/uhdlib/transport/link_base.hpp b/host/lib/include/uhdlib/transport/link_base.hpp
index e2b0425bd..76b5c1ee3 100644
--- a/host/lib/include/uhdlib/transport/link_base.hpp
+++ b/host/lib/include/uhdlib/transport/link_base.hpp
@@ -74,6 +74,8 @@ public:
{
}
+ virtual ~send_link_base() = default;
+
size_t get_num_send_frames() const override
{
return _num_send_frames;
@@ -164,7 +166,13 @@ public:
{
}
+<<<<<<< HEAD
size_t get_num_recv_frames() const override
+=======
+ virtual ~recv_link_base() = default;
+
+ virtual size_t get_num_recv_frames() const
+>>>>>>> lib: Add some virtual dtors
{
return _num_recv_frames;
}
diff --git a/host/lib/include/uhdlib/usrp/common/adf4001_ctrl.hpp b/host/lib/include/uhdlib/usrp/common/adf4001_ctrl.hpp
index a98238a25..49a69bdbf 100644
--- a/host/lib/include/uhdlib/usrp/common/adf4001_ctrl.hpp
+++ b/host/lib/include/uhdlib/usrp/common/adf4001_ctrl.hpp
@@ -105,6 +105,7 @@ class adf4001_ctrl
{
public:
adf4001_ctrl(uhd::spi_iface::sptr _spi, int slaveno);
+ virtual ~adf4001_ctrl() = default;
virtual void set_lock_to_ext_ref(bool external);
private:
diff --git a/host/lib/include/uhdlib/usrp/common/io_service_mgr.hpp b/host/lib/include/uhdlib/usrp/common/io_service_mgr.hpp
index 6b2662703..613db9722 100644
--- a/host/lib/include/uhdlib/usrp/common/io_service_mgr.hpp
+++ b/host/lib/include/uhdlib/usrp/common/io_service_mgr.hpp
@@ -59,6 +59,8 @@ class io_service_mgr
public:
using sptr = std::shared_ptr<io_service_mgr>;
+ virtual ~io_service_mgr() = default;
+
/*! Connects a pair of links to an I/O service
*
* Call this method to connect a pair of links to an I/O service. For muxed
diff --git a/host/lib/include/uhdlib/usrp/common/pwr_cal_mgr.hpp b/host/lib/include/uhdlib/usrp/common/pwr_cal_mgr.hpp
index 4d063825b..c24e7718c 100644
--- a/host/lib/include/uhdlib/usrp/common/pwr_cal_mgr.hpp
+++ b/host/lib/include/uhdlib/usrp/common/pwr_cal_mgr.hpp
@@ -80,6 +80,8 @@ public:
get_str_type&& get_key,
uhd::gain_group::sptr gain_group);
+ virtual ~pwr_cal_mgr() = default;
+
//! Update the gain group (see make());
//
// Not thread-safe: Don't call at the same time as set_power()