[gem5-dev] Change in gem5/gem5[master]: base, sim: Add missing destructors

2018-12-04 Thread Nikos Nikoleris (Gerrit)
Nikos Nikoleris has submitted this change and it was merged. (  
https://gem5-review.googlesource.com/c/public/gem5/+/14815 )


Change subject: base, sim: Add missing destructors
..

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 
---
M src/base/statistics.hh
M src/cpu/minor/buffers.hh
M src/cpu/testers/traffic_gen/stream_gen.hh
M src/mem/qos/q_policy.hh
M src/sim/faults.hh
5 files changed, 10 insertions(+), 2 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
  Giacomo Travaglini: Looks good to me, approved



diff --git a/src/base/statistics.hh b/src/base/statistics.hh
index 404bdf1..8a5420f 100644
--- a/src/base/statistics.hh
+++ b/src/base/statistics.hh
@@ -2090,6 +2090,8 @@
  *
  */
 virtual std::string str() const = 0;
+
+virtual ~Node() {};
 };

 /** Shared pointer to a function Node. */
diff --git a/src/cpu/minor/buffers.hh b/src/cpu/minor/buffers.hh
index edf87de..a32e374 100644
--- a/src/cpu/minor/buffers.hh
+++ b/src/cpu/minor/buffers.hh
@@ -381,6 +381,8 @@

 /** 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 @@
 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 df9d7b7..b579f1b 100644
--- a/src/cpu/testers/traffic_gen/stream_gen.hh
+++ b/src/cpu/testers/traffic_gen/stream_gen.hh
@@ -63,6 +63,8 @@
 }

   public:
+virtual ~StreamGen() {};
+
 virtual uint32_t pickStreamID() = 0;
 virtual uint32_t pickSubStreamID() = 0;

diff --git a/src/mem/qos/q_policy.hh b/src/mem/qos/q_policy.hh
index 3e455e8..ba36b43 100644
--- a/src/mem/qos/q_policy.hh
+++ b/src/mem/qos/q_policy.hh
@@ -99,6 +99,8 @@
  */
 void setMemCtrl(MemCtrl* mem) { memCtrl = mem; };

+virtual ~QueuePolicy() {};
+
   protected:
 QueuePolicy(const QoSMemCtrlParams* p)
   : memCtrl(nullptr)
diff --git a/src/sim/faults.hh b/src/sim/faults.hh
index be7aab5..7475971 100644
--- a/src/sim/faults.hh
+++ b/src/sim/faults.hh
@@ -47,6 +47,8 @@
 virtual FaultName name() const = 0;
 virtual void invoke(ThreadContext * tc, const StaticInstPtr  =
 StaticInst::nullStaticInstPtr);
+
+virtual ~FaultBase() {};
 };

 class UnimpFault : public FaultBase

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/14815
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I1c855aa56dff6585ff99b9147bdb4eb9729a0a53
Gerrit-Change-Number: 14815
Gerrit-PatchSet: 2
Gerrit-Owner: Nikos Nikoleris 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Giacomo Travaglini 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Nikos Nikoleris 
Gerrit-MessageType: merged
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[master]: base, sim: Add missing destructors

2018-12-03 Thread Nikos Nikoleris (Gerrit)
Nikos Nikoleris has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/14815



Change subject: base, sim: Add missing destructors
..

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 
---
M src/base/statistics.hh
M src/cpu/minor/buffers.hh
M src/cpu/testers/traffic_gen/stream_gen.hh
M src/mem/qos/q_policy.hh
M src/sim/faults.hh
5 files changed, 10 insertions(+), 2 deletions(-)



diff --git a/src/base/statistics.hh b/src/base/statistics.hh
index 404bdf1..8a5420f 100644
--- a/src/base/statistics.hh
+++ b/src/base/statistics.hh
@@ -2090,6 +2090,8 @@
  *
  */
 virtual std::string str() const = 0;
+
+virtual ~Node() {};
 };

 /** Shared pointer to a function Node. */
diff --git a/src/cpu/minor/buffers.hh b/src/cpu/minor/buffers.hh
index edf87de..a32e374 100644
--- a/src/cpu/minor/buffers.hh
+++ b/src/cpu/minor/buffers.hh
@@ -381,6 +381,8 @@

 /** 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 @@
 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 df9d7b7..b579f1b 100644
--- a/src/cpu/testers/traffic_gen/stream_gen.hh
+++ b/src/cpu/testers/traffic_gen/stream_gen.hh
@@ -63,6 +63,8 @@
 }

   public:
+virtual ~StreamGen() {};
+
 virtual uint32_t pickStreamID() = 0;
 virtual uint32_t pickSubStreamID() = 0;

diff --git a/src/mem/qos/q_policy.hh b/src/mem/qos/q_policy.hh
index 3e455e8..ba36b43 100644
--- a/src/mem/qos/q_policy.hh
+++ b/src/mem/qos/q_policy.hh
@@ -99,6 +99,8 @@
  */
 void setMemCtrl(MemCtrl* mem) { memCtrl = mem; };

+virtual ~QueuePolicy() {};
+
   protected:
 QueuePolicy(const QoSMemCtrlParams* p)
   : memCtrl(nullptr)
diff --git a/src/sim/faults.hh b/src/sim/faults.hh
index be7aab5..7475971 100644
--- a/src/sim/faults.hh
+++ b/src/sim/faults.hh
@@ -47,6 +47,8 @@
 virtual FaultName name() const = 0;
 virtual void invoke(ThreadContext * tc, const StaticInstPtr  =
 StaticInst::nullStaticInstPtr);
+
+virtual ~FaultBase() {};
 };

 class UnimpFault : public FaultBase

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/14815
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I1c855aa56dff6585ff99b9147bdb4eb9729a0a53
Gerrit-Change-Number: 14815
Gerrit-PatchSet: 1
Gerrit-Owner: Nikos Nikoleris 
Gerrit-MessageType: newchange
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev