40 const char *msg,
int _verbosity,
const char *_fileName,
41 int _lineNumber,
sc_time _time,
const char *_processName,
int _id) :
42 _severity(_severity), _msgType(msg_type), _msg(msg),
43 _verbosity(_verbosity), _fileName(_fileName), _lineNumber(_lineNumber),
44 _time(_time), _processName(_processName), _id(_id)
54 sc_report(r._severity, r._msgType, r._msg, r._verbosity, r._fileName,
55 r._lineNumber, r._time, r._processName, r._id)
63 _msgType = r._msgType ? strdup(r._msgType) :
nullptr;
65 _msg = r._msg ? strdup(r._msg) :
nullptr;
94 return it->second.c_str();
106 return (msgInfo.actions == SC_DO_NOTHING ||
107 (msgInfo.sevActions[SC_INFO] == SC_DO_NOTHING &&
108 msgInfo.sevActions[SC_WARNING] == SC_DO_NOTHING));
131 SC_REPORT_ERROR(SC_ID_REGISTER_ID_FAILED_,
"report id already exists");
180 panic(
"simulation aborted");
virtual const char * what() const
sc_report(const sc_report &)
static void register_id(int id, const char *msg)
static const char * get_message(int id)
static void make_warnings_errors(bool)
const char * _processName
static bool is_suppressed(int id)
sc_report & operator=(const sc_report &)
static void suppress_id(int id, bool)
static void suppress_infos(bool)
static void suppress_warnings(bool)
#define panic(...)
This implements a cprintf based panic() function.
@ SC_DEFAULT_INFO_ACTIONS
@ SC_DEFAULT_WARNING_ACTIONS
const std::string sc_report_compose_message(const sc_report &)
std::map< std::string, ReportMsgInfo > & reportMsgInfoMap()
std::map< int, std::string > & reportIdToMsgMap()
bool reportWarningsAsErrors
ReportSevInfo reportSevInfos[sc_core::SC_MAX_SEVERITY]
#define SC_REPORT_ERROR(msg_type, msg)
sc_core::sc_actions actions