diff options
author | Gabe Black <gabeblack@google.com> | 2018-08-07 04:53:01 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2018-09-20 01:41:17 +0000 |
commit | 0ebd72b420eae39fa222fd6e0fd5ce11e0583633 (patch) | |
tree | 537cffee61bcccf3040cf855fe3425c70558f66f | |
parent | a5fabc7064254ba9b64e0405b08539ba41176363 (diff) | |
download | gem5-0ebd72b420eae39fa222fd6e0fd5ce11e0583633.tar.xz |
systemc: "Implement" sc_interface's methods.
Most don't do anything. Make default_event() return a dummy event to
avoid dereferencing a null pointer.
Change-Id: I8d6d576d3a1f585029c387cd414bbebf2d670644
Reviewed-on: https://gem5-review.googlesource.com/12072
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
-rw-r--r-- | src/systemc/core/sc_interface.cc | 21 | ||||
-rw-r--r-- | src/systemc/ext/core/sc_interface.hh | 5 |
2 files changed, 5 insertions, 21 deletions
diff --git a/src/systemc/core/sc_interface.cc b/src/systemc/core/sc_interface.cc index e01bdccfd..171422d31 100644 --- a/src/systemc/core/sc_interface.cc +++ b/src/systemc/core/sc_interface.cc @@ -28,32 +28,17 @@ */ #include "base/logging.hh" +#include "systemc/ext/core/sc_event.hh" #include "systemc/ext/core/sc_interface.hh" namespace sc_core { -void -sc_interface::register_port(sc_port_base &, const char *) -{ - warn("%s not implemented.\n", __PRETTY_FUNCTION__); -} - const sc_event & sc_interface::default_event() const { - warn("%s not implemented.\n", __PRETTY_FUNCTION__); - return *(sc_event *)nullptr; -} - -sc_interface::~sc_interface() -{ - warn("%s not implemented.\n", __PRETTY_FUNCTION__); -} - -sc_interface::sc_interface() -{ - warn("%s not implemented.\n", __PRETTY_FUNCTION__); + static sc_event dummy; + return dummy; } } // namespace sc_core diff --git a/src/systemc/ext/core/sc_interface.hh b/src/systemc/ext/core/sc_interface.hh index 2073f5362..3c6a27dea 100644 --- a/src/systemc/ext/core/sc_interface.hh +++ b/src/systemc/ext/core/sc_interface.hh @@ -39,12 +39,11 @@ class sc_event; class sc_interface { public: - virtual void register_port(sc_port_base &, const char *); virtual const sc_event &default_event() const; - virtual ~sc_interface(); + virtual ~sc_interface() {}; protected: - sc_interface(); + sc_interface() {}; private: // Disabled |