diff options
-rw-r--r-- | src/systemc/core/sc_process_handle.cc | 10 | ||||
-rw-r--r-- | src/systemc/ext/core/sc_process_handle.hh | 1 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/systemc/core/sc_process_handle.cc b/src/systemc/core/sc_process_handle.cc index e0f6a8186..256d64989 100644 --- a/src/systemc/core/sc_process_handle.cc +++ b/src/systemc/core/sc_process_handle.cc @@ -39,17 +39,19 @@ namespace sc_core const char * sc_unwind_exception::what() const throw() { - panic("%s for base class called.\n", __PRETTY_FUNCTION__); + return _isReset ? "RESET" : "KILL"; } bool sc_unwind_exception::is_reset() const { - panic("%s for base class called.\n", __PRETTY_FUNCTION__); + return _isReset; } -sc_unwind_exception::sc_unwind_exception() {} -sc_unwind_exception::sc_unwind_exception(const sc_unwind_exception &) {} +sc_unwind_exception::sc_unwind_exception() : _isReset(false) {} +sc_unwind_exception::sc_unwind_exception(const sc_unwind_exception &e) : + _isReset(e._isReset) +{} sc_unwind_exception::~sc_unwind_exception() throw() {} diff --git a/src/systemc/ext/core/sc_process_handle.hh b/src/systemc/ext/core/sc_process_handle.hh index 2db553b7a..818690318 100644 --- a/src/systemc/ext/core/sc_process_handle.hh +++ b/src/systemc/ext/core/sc_process_handle.hh @@ -108,6 +108,7 @@ class sc_unwind_exception : public std::exception virtual ~sc_unwind_exception() throw(); protected: + bool _isReset; sc_unwind_exception(); }; |