summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-11-02 17:43:29 -0700
committerGabe Black <gabeblack@google.com>2018-11-05 23:10:16 +0000
commitf6ffc404f26e80905d72215d5c688abfbd2d1a33 (patch)
treed55ee11d5f9f64994046dd071ed0086834c08dae
parent45abd002b6072469faf98008304c33961d1d9e6b (diff)
downloadgem5-f6ffc404f26e80905d72215d5c688abfbd2d1a33.tar.xz
systemc: Explicitly keep the sc_port bind alongside sc_in's version.
The sc_in bind function was hiding the one from sc_port by changing the const-ness of its parameter. This change explicitly exposes the underlying sc_port version, and keeps it alongside the new sc_in version. This seems mildly dangerous and undesirable because now there are two very similar functions which would both need to be overridden in order to get new behavior, but I don't think it's any more dangerous and undesirable than as (perhaps unintentionally) specified in the standard. Change-Id: Ib42a1f8e70bc97abeeeb8d614e71c4019b3a2323 Reviewed-on: https://gem5-review.googlesource.com/c/13880 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
-rw-r--r--src/systemc/ext/channel/sc_in.hh4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/systemc/ext/channel/sc_in.hh b/src/systemc/ext/channel/sc_in.hh
index 3fea8a803..85d089dbc 100644
--- a/src/systemc/ext/channel/sc_in.hh
+++ b/src/systemc/ext/channel/sc_in.hh
@@ -225,6 +225,8 @@ class sc_in<bool> : public sc_port<sc_signal_in_if<bool>, 1>
_negFinder(*this, &sc_signal_in_if<bool>::negedge_event)
{}
+ using sc_port<sc_signal_in_if<bool>, 1>::bind;
+
virtual void
bind(const sc_signal_in_if<bool> &i)
{
@@ -390,6 +392,8 @@ class sc_in<sc_dt::sc_logic> :
_negFinder(*this, &sc_signal_in_if<sc_dt::sc_logic>::negedge_event)
{}
+ using sc_port<sc_signal_in_if<sc_dt::sc_logic>, 1>::bind;
+
virtual void
bind(const sc_signal_in_if<sc_dt::sc_logic> &i)
{