I am a bit confused about the correct usage of the SC_REPORT_* macros.
In "sysc/kernel/sc_simcontext.cpp" we have:
SC_REPORT_INFO("/OSCI/SystemC","Simulation stopped by user.");
The above is helpful as it produces easily parseable output.
Whereas in "sysc/kernel/sc_object_manager.cpp" we have:
std::string message = result_orig_string; message += ". Latter declaration will be renamed to "; message += result_string; SC_REPORT_WARNING( SC_ID_INSTANCE_EXISTS_, message.c_str());
This is not so helpful, since it is not clear where the error comes from when analysing output.
A quick grep showed that there are a lot of instances where the first argument to a SC_REPORT_* macro is some ID and not the source of the error. Those IDs are resolved to error message strings, which in my opinion should go into the second argument.
Could someone please clarify which way is correct?
I would like to be able to handle the sc_report messages with our own message handler.