summaryrefslogtreecommitdiff
path: root/src/systemc/core/sc_main.cc
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-10-06 19:00:56 -0700
committerGabe Black <gabeblack@google.com>2018-10-16 01:05:58 +0000
commit7eb6ad4aaa3afb8a5625a4515cbcfd141d5ce45b (patch)
tree52fe361cfd38edf1ba205f0aaf6da2f5c63f9357 /src/systemc/core/sc_main.cc
parent7a2ace7c5da5935eef2cf32527df954547de2d8b (diff)
downloadgem5-7eb6ad4aaa3afb8a5625a4515cbcfd141d5ce45b.tar.xz
systemc: Refactor reporting to prep for int based messages.
There's a deprecated reporting mechanism based on integer message ids, and the reporting mechanism needs to be refactored a bit to make it easier to support. Some bookkeeping data structures were moved out to somewhere they can be accessed by other code, obviating the non-standard get_handler function. Change-Id: Id427cd79be9ef0f3275fbac39ff047ab672fb3e0 Reviewed-on: https://gem5-review.googlesource.com/c/13318 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/core/sc_main.cc')
-rw-r--r--src/systemc/core/sc_main.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/systemc/core/sc_main.cc b/src/systemc/core/sc_main.cc
index 12e129ad3..95e955002 100644
--- a/src/systemc/core/sc_main.cc
+++ b/src/systemc/core/sc_main.cc
@@ -41,6 +41,7 @@
#include "systemc/core/scheduler.hh"
#include "systemc/ext/core/sc_main.hh"
#include "systemc/ext/utils/sc_report_handler.hh"
+#include "systemc/utils/report.hh"
// A weak symbol to detect if sc_main has been defined, and if so where it is.
[[gnu::weak]] int sc_main(int argc, char *argv[]);
@@ -79,12 +80,12 @@ class ScMainFiber : public Fiber
} catch (const sc_report &r) {
// There was an exception nobody caught.
resultStr = "uncaught sc_report";
- sc_report_handler::get_handler()(
+ sc_gem5::reportHandlerProc(
r, sc_report_handler::get_catch_actions());
} catch (...) {
// There was some other type of exception we need to wrap.
resultStr = "uncaught exception";
- sc_report_handler::get_handler()(
+ sc_gem5::reportHandlerProc(
::sc_gem5::reportifyException(),
sc_report_handler::get_catch_actions());
}