From: Gabe Black Date: Sat, 6 Oct 2018 11:10:39 +0000 (-0700) Subject: systemc: Ignore attempts to throw a signal to a method. X-Git-Tag: v19.0.0.0~1512 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=226207d43a0897d07448945fab06554b8dfbc684;p=gem5.git 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 Maintainer: Gabe Black --- diff --git a/src/systemc/core/process.cc b/src/systemc/core/process.cc index 93542fc00..7d21960bd 100644 --- a/src/systemc/core/process.cc +++ b/src/systemc/core/process.cc @@ -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); }