diff options
Diffstat (limited to 'src/systemc/core/sc_sensitive.cc')
-rw-r--r-- | src/systemc/core/sc_sensitive.cc | 22 |
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; } |