From 7f2d7fe4ef622d861e55517279f193cdf8acfc99 Mon Sep 17 00:00:00 2001 From: Nikos Nikoleris Date: Wed, 28 Nov 2018 08:16:33 +0000 Subject: base, sim: Add missing destructors Derived classes with virtual functions need to define a virtual destructor or a protected destructor otherwise calling the base class destructor has undefined behavior. This change adds a virtual distructor in the base class. Change-Id: I1c855aa56dff6585ff99b9147bdb4eb9729a0a53 Signed-off-by: Nikos Nikoleris Reviewed-on: https://gem5-review.googlesource.com/c/14815 Reviewed-by: Giacomo Travaglini Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power --- src/cpu/minor/buffers.hh | 4 ++-- src/cpu/testers/traffic_gen/stream_gen.hh | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/cpu') diff --git a/src/cpu/minor/buffers.hh b/src/cpu/minor/buffers.hh index edf87dec5..a32e37493 100644 --- a/src/cpu/minor/buffers.hh +++ b/src/cpu/minor/buffers.hh @@ -381,6 +381,8 @@ class Reservable /** Free a reserved slot */ virtual void freeReservation() = 0; + + virtual ~Reservable() {}; }; /** Wrapper for a queue type to act as a pipeline stage input queue. @@ -418,8 +420,6 @@ class Queue : public Named, public Reservable dataName(data_name) { } - virtual ~Queue() { } - public: /** Push an element into the buffer if it isn't a bubble. Bubbles are * just discarded. It is assummed that any push into a queue with diff --git a/src/cpu/testers/traffic_gen/stream_gen.hh b/src/cpu/testers/traffic_gen/stream_gen.hh index df9d7b75e..b579f1b1d 100644 --- a/src/cpu/testers/traffic_gen/stream_gen.hh +++ b/src/cpu/testers/traffic_gen/stream_gen.hh @@ -63,6 +63,8 @@ class StreamGen } public: + virtual ~StreamGen() {}; + virtual uint32_t pickStreamID() = 0; virtual uint32_t pickSubStreamID() = 0; -- cgit v1.2.3