summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-06-18 18:51:21 -0700
committerGabe Black <gabeblack@google.com>2018-09-05 05:58:46 +0000
commit9d7469852d5ef63180a598a3dae63c9b179f1e5d (patch)
treefbd3f3126f0cbe9b39ea2259d469886bfe79d5fe
parent1ab49504cfda08838395c71374de307a82358d2b (diff)
downloadgem5-9d7469852d5ef63180a598a3dae63c9b179f1e5d.tar.xz
systemc: Add the "implementation defined" vport function.
This function is in an "implementation defined" class body in the spec, and has a comment next to it which says "(for internal use only)" next to it, but it is still used directly in one of the tests. Change-Id: Ib3727c93cc531ddd31a24897291dc7e7c97c2b58 Reviewed-on: https://gem5-review.googlesource.com/11354 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
-rw-r--r--src/systemc/ext/core/sc_port.hh18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/systemc/ext/core/sc_port.hh b/src/systemc/ext/core/sc_port.hh
index 6f7c67655..262ca382b 100644
--- a/src/systemc/ext/core/sc_port.hh
+++ b/src/systemc/ext/core/sc_port.hh
@@ -57,6 +57,10 @@ class sc_port_base : public sc_object
// Implementation defined, but depended on by the tests.
void bind(sc_interface &);
void bind(sc_port_base &);
+
+ // Implementation defined, but depended on by the tests.
+ virtual int vbind(sc_interface &) = 0;
+ virtual int vbind(sc_port_base &) = 0;
};
template <class IF>
@@ -150,6 +154,20 @@ class sc_port_b : public sc_port_base
{}
virtual ~sc_port_b() {}
+ // Implementation defined, but depended on by the tests.
+ int
+ vbind(sc_interface &)
+ {
+ this->warn_unimpl(__PRETTY_FUNCTION__);
+ return 0;
+ }
+ int
+ vbind(sc_port_base &)
+ {
+ this->warn_unimpl(__PRETTY_FUNCTION__);
+ return 0;
+ }
+
private:
// Disabled
sc_port_b() {}