systemc: Ignore attempts to throw a signal to a method.

Change-Id: I8c2b20525aa46955f4f2df34436b7424e706e410
Reviewed-on: https://gem5-review.googlesource.com/c/13313
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
Gabe Black
2018-10-06 04:10:39 -07:00
parent a7d99be947
commit 226207d43a

View File

@@ -206,8 +206,12 @@ Process::throw_it(ExceptionWrapperBase &exc, bool inc_kids)
if (inc_kids)
forEachKid([&exc](Process *p) { p->throw_it(exc, true); });
if (_needsStart || _terminated)
if (_needsStart || _terminated ||
procKind() == ::sc_core::SC_METHOD_PROC_) {
SC_REPORT_WARNING("(W556) throw_it on method/non-running process "
"is being ignored ", name());
return;
}
injectException(exc);
}