process.cc (13306:2196f4a8201f) process.cc (13307:e30fee54d354)
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 192 unchanged lines hidden (view full) ---

201 SC_REPORT_ERROR(
202 "(E574) throw_it not allowed unless simulation is running ",
203 name());
204 }
205
206 if (inc_kids)
207 forEachKid([&exc](Process *p) { p->throw_it(exc, true); });
208
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 192 unchanged lines hidden (view full) ---

201 SC_REPORT_ERROR(
202 "(E574) throw_it not allowed unless simulation is running ",
203 name());
204 }
205
206 if (inc_kids)
207 forEachKid([&exc](Process *p) { p->throw_it(exc, true); });
208
209 if (_needsStart || _terminated)
209 if (_needsStart || _terminated ||
210 procKind() == ::sc_core::SC_METHOD_PROC_) {
211 SC_REPORT_WARNING("(W556) throw_it on method/non-running process "
212 "is being ignored ", name());
210 return;
213 return;
214 }
211
212 injectException(exc);
213}
214
215void
216Process::injectException(ExceptionWrapperBase &exc)
217{
218 excWrapper = &exc;

--- 220 unchanged lines hidden ---
215
216 injectException(exc);
217}
218
219void
220Process::injectException(ExceptionWrapperBase &exc)
221{
222 excWrapper = &exc;

--- 220 unchanged lines hidden ---