diff --git a/src/sim/eventq.hh b/src/sim/eventq.hh index ff9d4bfa08..cf1734b992 100644 --- a/src/sim/eventq.hh +++ b/src/sim/eventq.hh @@ -1095,16 +1095,12 @@ class MemberEventWrapper final: public Event, public Named static_assert(std::is_same_v, 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 @@ public: 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)();