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>
This commit is contained in:
Gabe Black
2018-06-18 18:51:21 -07:00
parent 1ab49504cf
commit 9d7469852d

View File

@@ -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() {}