From f39a68fcca3643a0bda2ca965c432ad70402fbd9 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Thu, 4 Oct 2018 16:41:32 -0700 Subject: systemc: Fill out some error reporting in sc_port. Rather than just asserting some invariants are true, report errors if they aren't. Change-Id: Id361b8a13011e1a75289ddddb6b41c1d09dbf794 Reviewed-on: https://gem5-review.googlesource.com/c/13296 Reviewed-by: Gabe Black Maintainer: Gabe Black --- src/systemc/core/sc_port.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/systemc/core') diff --git a/src/systemc/core/sc_port.cc b/src/systemc/core/sc_port.cc index 50a67a3b6..60911f8e1 100644 --- a/src/systemc/core/sc_port.cc +++ b/src/systemc/core/sc_port.cc @@ -27,6 +27,8 @@ * Authors: Gabe Black */ +#include + #include "base/logging.hh" #include "systemc/core/module.hh" #include "systemc/core/port.hh" @@ -88,6 +90,16 @@ sc_port_base::warn_unimpl(const char *func) const warn("%s not implemented.\n", func); } +void +sc_port_base::report_error(const char *id, const char *add_msg) const +{ + std::ostringstream ss; + if (add_msg) + ss << add_msg << ": "; + ss << "port '" << name() << "' (" << kind() << ")"; + SC_REPORT_ERROR(id, ss.str().c_str()); +} + int sc_port_base::maxSize() const { return _gem5Port->maxSize(); } int sc_port_base::size() const { return _gem5Port->size(); } -- cgit v1.2.3