systemc: Add some deprecated positional binding operators.

These are used in one of the tests, specifically the comma operator. It
didn't cause compilation to fail because of the default meaning of the
comma.

Change-Id: I7ce7fe74f02d4ad6a4ab896a2f0d6bd1ce635c2f
Reviewed-on: https://gem5-review.googlesource.com/c/13298
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
diff --git a/src/systemc/core/sc_module.cc b/src/systemc/core/sc_module.cc
index 42fff32..175b9db 100644
--- a/src/systemc/core/sc_module.cc
+++ b/src/systemc/core/sc_module.cc
@@ -210,6 +210,34 @@
     _gem5_module->bindPorts(proxies);
 }
 
+sc_module &
+sc_module::operator << (sc_interface &iface)
+{
+    (*this)(iface);
+    return *this;
+}
+
+sc_module &
+sc_module::operator << (sc_port_base &pb)
+{
+    (*this)(pb);
+    return *this;
+}
+
+sc_module &
+sc_module::operator , (sc_interface &iface)
+{
+    (*this)(iface);
+    return *this;
+}
+
+sc_module &
+sc_module::operator , (sc_port_base &pb)
+{
+    (*this)(pb);
+    return *this;
+}
+
 const std::vector<sc_object *> &
 sc_module::get_child_objects() const
 {
diff --git a/src/systemc/ext/core/sc_module.hh b/src/systemc/ext/core/sc_module.hh
index d318a75..dea728f 100644
--- a/src/systemc/ext/core/sc_module.hh
+++ b/src/systemc/ext/core/sc_module.hh
@@ -166,6 +166,12 @@
                       const sc_bind_proxy &p063 = SC_BIND_PROXY_NIL,
                       const sc_bind_proxy &p064 = SC_BIND_PROXY_NIL);
 
+    // Deprecated
+    sc_module &operator << (sc_interface &);
+    sc_module &operator << (sc_port_base &);
+    sc_module &operator , (sc_interface &);
+    sc_module &operator , (sc_port_base &);
+
     virtual const std::vector<sc_object *> &get_child_objects() const;
     virtual const std::vector<sc_event *> &get_child_events() const;