Gabriel B. has submitted this change. ( 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
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/67656
Reviewed-by: Daniel Carvalho <oda...@yahoo.com.br>
Tested-by: kokoro <noreply+kok...@google.com>
Maintainer: Daniel Carvalho <oda...@yahoo.com.br>
---
M src/sim/eventq.hh
1 file changed, 10 insertions(+), 9 deletions(-)

Approvals:
  Daniel Carvalho: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass




diff --git a/src/sim/eventq.hh b/src/sim/eventq.hh
index ff9d4bf..cf1734b 100644
--- a/src/sim/eventq.hh
+++ b/src/sim/eventq.hh
@@ -1095,16 +1095,12 @@
static_assert(std::is_same_v<MemberFunctionArgsTuple_t<F>, std::tuple<>>);

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

     /**
      * @brief Construct a new MemberEventWrapper object
@@ -1116,8 +1112,13 @@
     MemberEventWrapper(CLASS &object,
                        bool del = false,
                        Priority p = Default_Pri):
-        MemberEventWrapper(&object, del, p)
-    {}
+        Event(p),
+        Named(object.name() + ".wrapped_event"),
+        mObject(&object)
+    {
+        if (del) setFlags(AutoDelete);
+        gem5_assert(mObject);
+    }

     void process() override {
         (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: 4
Gerrit-Owner: Gabriel B. <gabriel.bus...@arteris.com>
Gerrit-Reviewer: Daniel Carvalho <oda...@yahoo.com.br>
Gerrit-Reviewer: Gabriel B. <gabriel.bus...@arteris.com>
Gerrit-Reviewer: Jason Lowe-Power <ja...@lowepower.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org

Reply via email to