summaryrefslogtreecommitdiff
path: root/src/systemc/core/sc_sensitive.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/core/sc_sensitive.cc')
-rw-r--r--src/systemc/core/sc_sensitive.cc22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/systemc/core/sc_sensitive.cc b/src/systemc/core/sc_sensitive.cc
index d233cda6a..25bc1bb08 100644
--- a/src/systemc/core/sc_sensitive.cc
+++ b/src/systemc/core/sc_sensitive.cc
@@ -28,6 +28,8 @@
*/
#include "base/logging.hh"
+#include "systemc/core/process.hh"
+#include "systemc/ext/core/sc_interface.hh"
#include "systemc/ext/core/sc_sensitive.hh"
namespace sc_core
@@ -36,30 +38,34 @@ namespace sc_core
sc_sensitive::sc_sensitive() : currentProcess(nullptr) {}
sc_sensitive &
-sc_sensitive::operator << (const sc_event &)
+sc_sensitive::operator << (const sc_event &e)
{
- warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+ currentProcess->addStatic(
+ new sc_gem5::PendingSensitivityEvent(currentProcess, &e));
return *this;
}
sc_sensitive &
-sc_sensitive::operator << (const sc_interface &)
+sc_sensitive::operator << (const sc_interface &i)
{
- warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+ currentProcess->addStatic(
+ new sc_gem5::PendingSensitivityInterface(currentProcess, &i));
return *this;
}
sc_sensitive &
-sc_sensitive::operator << (const sc_port_base &)
+sc_sensitive::operator << (const sc_port_base &b)
{
- warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+ currentProcess->addStatic(
+ new sc_gem5::PendingSensitivityPort(currentProcess, &b));
return *this;
}
sc_sensitive &
-sc_sensitive::operator << (sc_event_finder &)
+sc_sensitive::operator << (sc_event_finder &f)
{
- warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+ currentProcess->addStatic(
+ new sc_gem5::PendingSensitivityFinder(currentProcess, &f));
return *this;
}