summaryrefslogtreecommitdiff
path: root/src/systemc/utils/sc_report_handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/utils/sc_report_handler.cc')
-rw-r--r--src/systemc/utils/sc_report_handler.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/systemc/utils/sc_report_handler.cc b/src/systemc/utils/sc_report_handler.cc
index a8cdc363a..46ee84704 100644
--- a/src/systemc/utils/sc_report_handler.cc
+++ b/src/systemc/utils/sc_report_handler.cc
@@ -89,7 +89,7 @@ sc_report_handler::report(sc_severity severity, const char *msg_type,
::sc_gem5::Process *current = ::sc_gem5::scheduler.current();
sc_report report(severity, msg_type, msg, verbosity, file, line,
sc_time::from_value(::sc_gem5::scheduler.getCurTick()),
- current ? current->name() : nullptr, -1);
+ current ? current->name() : nullptr, msgInfo.id);
if (actions & SC_CACHE_REPORT) {
if (current) {
@@ -104,11 +104,17 @@ sc_report_handler::report(sc_severity severity, const char *msg_type,
}
void
-sc_report_handler::report(sc_severity, int id, const char *msg,
+sc_report_handler::report(sc_severity severity, int id, const char *msg,
const char *file, int line)
{
- warn("%s:%d %s\n", file, line, msg);
- warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+ std::string &msg_type = sc_gem5::reportIdToMsgMap[id];
+ if (msg_type == "")
+ msg_type = "unknown id";
+
+ if (sc_gem5::reportWarningsAsErrors && severity == SC_WARNING)
+ severity = SC_ERROR;
+
+ report(severity, msg_type.c_str(), msg, file, line);
}
sc_actions