Gabriel B. has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/67656?usp=email )

Change subject: sim: Deprecate pointer version of MemberEventWrapper constructor
......................................................................

sim: Deprecate pointer version of MemberEventWrapper constructor

It makes no sense to initialize such event with nullptr. Favor the
reference version for safer behavior.

Change-Id: I695f41362a56aca98ceb52d49cf84be43f1465a2
---
M src/sim/eventq.hh
1 file changed, 20 insertions(+), 7 deletions(-)



diff --git a/src/sim/eventq.hh b/src/sim/eventq.hh
index 36b2245..a719030 100644
--- a/src/sim/eventq.hh
+++ b/src/sim/eventq.hh
@@ -1082,18 +1082,19 @@
static_assert(std::is_same_v<MemberFunctionArgsTuple_t<F>, std::tuple<>>);

 public:
+    [[deprecated("Use reference version of this constructor instead")]]
MemberEventWrapper(T *object, bool del = false, Priority p = Default_Pri):
-        Event(p),
-        Named(object->name() + ".wrapped_event"),
-        mObject(object)
+        MemberEventWrapper{*object, del, p}
+    {}
+
+ MemberEventWrapper(T &object, bool del = false, Priority p = Default_Pri):
+        Event{p},
+        Named{object.name() + ".wrapped_event"},
+        mObject{&object}
     {
         if (del) setFlags(AutoDelete);
     }

- MemberEventWrapper(T &object, bool del = false, Priority p = Default_Pri):
-        MemberEventWrapper(&object, del, p)
-    {}
-
     void process() {
         gem5_assert(mObject);
         (mObject->*F)();

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

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I695f41362a56aca98ceb52d49cf84be43f1465a2
Gerrit-Change-Number: 67656
Gerrit-PatchSet: 1
Gerrit-Owner: Gabriel B. <gabriel.bus...@arteris.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org

Reply via email to