Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/13305

Change subject: systemc: Add an error check to the deprecated notify_delayed.
......................................................................

systemc: Add an error check to the deprecated notify_delayed.

This can't override pending notifications like normal notify does.

Change-Id: Ie5f12a97ffdcc3dfca20fa7852f89687ee8bfca3
---
M src/systemc/core/event.cc
M src/systemc/core/event.hh
M src/systemc/core/sc_event.cc
3 files changed, 21 insertions(+), 2 deletions(-)



diff --git a/src/systemc/core/event.cc b/src/systemc/core/event.cc
index 120b514..2e356bd 100644
--- a/src/systemc/core/event.cc
+++ b/src/systemc/core/event.cc
@@ -179,6 +179,16 @@
 }

 void
+Event::notifyDelayed(const sc_core::sc_time &t)
+{
+    if (delayedNotify.scheduled()) {
+ SC_REPORT_ERROR("(E531) notify_delayed() cannot be called on events "
+                "that have pending notifications", "");
+    }
+    notify(t);
+}
+
+void
 Event::cancel()
 {
     if (delayedNotify.scheduled())
diff --git a/src/systemc/core/event.hh b/src/systemc/core/event.hh
index 532d983..7568772 100644
--- a/src/systemc/core/event.hh
+++ b/src/systemc/core/event.hh
@@ -82,6 +82,7 @@
     {
         notify(sc_core::sc_time(d, u));
     }
+    void notifyDelayed(const sc_core::sc_time &t);
     void cancel();

     bool triggered() const;
diff --git a/src/systemc/core/sc_event.cc b/src/systemc/core/sc_event.cc
index 318fea6..b2dc0e5 100644
--- a/src/systemc/core/sc_event.cc
+++ b/src/systemc/core/sc_event.cc
@@ -342,8 +342,16 @@
void sc_event::notify(double d, sc_time_unit u) { _gem5_event->notify(d, u); }
 void sc_event::cancel() { _gem5_event->cancel(); }
 bool sc_event::triggered() const { return _gem5_event->triggered(); }
-void sc_event::notify_delayed() { _gem5_event->notify(SC_ZERO_TIME); }
-void sc_event::notify_delayed(const sc_time &t) { _gem5_event->notify(t); }
+void
+sc_event::notify_delayed()
+{
+    _gem5_event->notifyDelayed(SC_ZERO_TIME);
+}
+void
+sc_event::notify_delayed(const sc_time &t)
+{
+    _gem5_event->notifyDelayed(t);
+}

 sc_event_and_expr
 sc_event::operator & (const sc_event &e) const

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/13305
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: Ie5f12a97ffdcc3dfca20fa7852f89687ee8bfca3
Gerrit-Change-Number: 13305
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to