diff options
-rw-r--r-- | src/systemc/core/sc_port.cc | 12 | ||||
-rw-r--r-- | src/systemc/ext/core/sc_port.hh | 20 |
2 files changed, 16 insertions, 16 deletions
diff --git a/src/systemc/core/sc_port.cc b/src/systemc/core/sc_port.cc index 69fe6f579..37a534a83 100644 --- a/src/systemc/core/sc_port.cc +++ b/src/systemc/core/sc_port.cc @@ -29,7 +29,7 @@ #include <sstream> -#include "base/logging.hh" +#include "base/cprintf.hh" #include "systemc/core/module.hh" #include "systemc/core/port.hh" #include "systemc/core/scheduler.hh" @@ -84,9 +84,15 @@ sc_port_base::~sc_port_base() } void -sc_port_base::warn_unimpl(const char *func) const +sc_port_base::warn_port_constructor() const { - warn("%s not implemented.\n", func); + static bool warned = false; + if (!warned) { + SC_REPORT_INFO(SC_ID_IEEE_1666_DEPRECATION_, + "interface and/or port binding in port constructors " + "is deprecated"); + warned = true; + } } void diff --git a/src/systemc/ext/core/sc_port.hh b/src/systemc/ext/core/sc_port.hh index c4160bafe..2a454f3a0 100644 --- a/src/systemc/ext/core/sc_port.hh +++ b/src/systemc/ext/core/sc_port.hh @@ -79,7 +79,7 @@ class sc_port_base : public sc_object sc_port_base(const char *name, int n, sc_port_policy p); virtual ~sc_port_base(); - void warn_unimpl(const char *func) const; + void warn_port_constructor() const; int maxSize() const; int size() const; @@ -258,40 +258,34 @@ class sc_port : public sc_port_b<IF> // Deprecated binding constructors. explicit sc_port(const IF &interface) : sc_port_b<IF>(N, P) { - this->warn_unimpl(__PRETTY_FUNCTION__); - // Should warn that these are deprecated. See Accellera sc_port.h. + this->warn_port_constructor(); sc_port_b<IF>::bind(const_cast<IF &>(interface)); } sc_port(const char *name, const IF &interface) : sc_port_b<IF>(name, N, P) { - this->warn_unimpl(__PRETTY_FUNCTION__); - // Should warn that these are deprecated. See Accellera sc_port.h. + this->warn_port_constructor(); sc_port_b<IF>::bind(const_cast<IF &>(interface)); } explicit sc_port(sc_port_b<IF> &parent) : sc_port_b<IF>(N, P) { - this->warn_unimpl(__PRETTY_FUNCTION__); - // Should warn that these are deprecated. See Accellera sc_port.h. + this->warn_port_constructor(); sc_port_b<IF>::bind(parent); } sc_port(const char *name, sc_port_b<IF> &parent) : sc_port_b<IF>(name, N, P) { - this->warn_unimpl(__PRETTY_FUNCTION__); - // Should warn that these are deprecated. See Accellera sc_port.h. + this->warn_port_constructor(); sc_port_b<IF>::bind(parent); } explicit sc_port(sc_port<IF, N, P> &parent) : sc_port_b<IF>(N, P) { - this->warn_unimpl(__PRETTY_FUNCTION__); - // Should warn that these are deprecated. See Accellera sc_port.h. + this->warn_port_constructor(); sc_port_b<IF>::bind(parent); } sc_port(const char *name, sc_port<IF, N, P> &parent) : sc_port_b<IF>(name, N, P) { - this->warn_unimpl(__PRETTY_FUNCTION__); - // Should warn that these are deprecated. See Accellera sc_port.h. + this->warn_port_constructor(); sc_port_b<IF>::bind(parent); } |