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 <odanrc@yahoo.com.br>
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Daniel Carvalho <odanrc@yahoo.com.br>
This commit is contained in:
Gabriel Busnot
2023-02-02 16:21:57 +00:00
committed by Gabriel B.
parent ba19f967d7
commit 99852d5687

View File

@@ -1095,16 +1095,12 @@ class MemberEventWrapper final: public Event, public Named
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 @@ 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)();