From 9d7469852d5ef63180a598a3dae63c9b179f1e5d Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Mon, 18 Jun 2018 18:51:21 -0700 Subject: [PATCH] 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 Maintainer: Gabe Black --- src/systemc/ext/core/sc_port.hh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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 @@ -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() {} -- 2.30.2