summaryrefslogtreecommitdiff
path: root/src/systemc/core/sc_main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/core/sc_main.cc')
-rw-r--r--src/systemc/core/sc_main.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/systemc/core/sc_main.cc b/src/systemc/core/sc_main.cc
index 2637cef0e..5e1cd4fe6 100644
--- a/src/systemc/core/sc_main.cc
+++ b/src/systemc/core/sc_main.cc
@@ -79,6 +79,10 @@ class ScMainFiber : public Fiber
} catch (const sc_report &r) {
// There was an exception nobody caught.
resultStr = r.what();
+ } catch (...) {
+ // There was some other type of exception we need to wrap.
+ const sc_report *r = ::sc_gem5::reportifyException();
+ resultStr = r->what();
}
::sc_gem5::Kernel::scMainFinished(true);
::sc_gem5::scheduler.clear();