diff options
author | Gabe Black <gabeblack@google.com> | 2018-11-02 17:43:29 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2018-11-05 23:10:16 +0000 |
commit | f6ffc404f26e80905d72215d5c688abfbd2d1a33 (patch) | |
tree | d55ee11d5f9f64994046dd071ed0086834c08dae /src | |
parent | 45abd002b6072469faf98008304c33961d1d9e6b (diff) | |
download | gem5-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>
Diffstat (limited to 'src')
-rw-r--r-- | src/systemc/ext/channel/sc_in.hh | 4 |
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) { |