summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-08-07 04:53:01 -0700
committerGabe Black <gabeblack@google.com>2018-09-20 01:41:17 +0000
commit0ebd72b420eae39fa222fd6e0fd5ce11e0583633 (patch)
tree537cffee61bcccf3040cf855fe3425c70558f66f
parenta5fabc7064254ba9b64e0405b08539ba41176363 (diff)
downloadgem5-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.cc21
-rw-r--r--src/systemc/ext/core/sc_interface.hh5
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