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 --- |