summaryrefslogtreecommitdiff
path: root/src/systemc
diff options
context:
space:
mode:
authorJui-min Lee <fcrh@google.com>2019-12-19 18:10:06 +0800
committerJui-min Lee <fcrh@google.com>2019-12-20 13:12:57 +0000
commit54458b125bd52c3735063bcbac6e07984c29db05 (patch)
tree3921940d10a4b4da5e0ec413be7d7422a11dbd13 /src/systemc
parentfaae467fd93a12703937d0bc16b0038d88b30b76 (diff)
downloadgem5-54458b125bd52c3735063bcbac6e07984c29db05.tar.xz
systemc: Fix tlm2 socket integration
This change will make the systemc extension in gem5 more compatible to the reference implementation by Accellera. * Remove the alias of sc_port's bind in initiator socket. * Ignore -Woverloaded-virtual in initiator socket. Change-Id: I229e4d493e01d26174c5662ad71d4859d546d307 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23864 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc')
-rw-r--r--src/systemc/ext/tlm_core/2/sockets/initiator_socket.hh7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/systemc/ext/tlm_core/2/sockets/initiator_socket.hh b/src/systemc/ext/tlm_core/2/sockets/initiator_socket.hh
index 35c650bce..4f67b5923 100644
--- a/src/systemc/ext/tlm_core/2/sockets/initiator_socket.hh
+++ b/src/systemc/ext/tlm_core/2/sockets/initiator_socket.hh
@@ -51,6 +51,10 @@ template <unsigned int BUSWIDTH, typename FW_IF, typename BW_IF, int N,
sc_core::sc_port_policy POL>
class tlm_base_target_socket;
+// The overloaded virtual is intended in SystemC, so we'll disable the warning.
+// Please check section 9.3 of SystemC 2.3.1 release note for more details.
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Woverloaded-virtual"
template <unsigned int BUSWIDTH=32, typename FW_IF=tlm_fw_transport_if<>,
typename BW_IF=tlm_bw_transport_if<>, int N=1,
sc_core::sc_port_policy POL=sc_core::SC_ONE_OR_MORE_BOUND>
@@ -120,8 +124,6 @@ class tlm_base_initiator_socket :
(s.get_base_export())(get_base_export());
}
- using port_type::bind;
-
void operator() (base_type &s) { bind(s); }
//
@@ -172,6 +174,7 @@ class tlm_base_initiator_socket :
protected:
export_type m_export;
};
+#pragma GCC diagnostic pop
//
// Convenience socket classes