File tree Expand file tree Collapse file tree 2 files changed +11
-7
lines changed Expand file tree Collapse file tree 2 files changed +11
-7
lines changed Original file line number Diff line number Diff line change @@ -305,7 +305,11 @@ std::type_info * __cxa_current_exception_type() {
305
305
__cxa_exception *current_exception = globals->caughtExceptions ;
306
306
if (NULL == current_exception)
307
307
return NULL ; // No current exception
308
- // TODO add stuff for dependent exceptions.
308
+ if (isDependentException (¤t_exception->unwindHeader )) {
309
+ __cxa_dependent_exception* deh =
310
+ reinterpret_cast <__cxa_dependent_exception*>(current_exception + 1 ) - 1 ;
311
+ current_exception = static_cast <__cxa_exception*>(deh->primaryException ) - 1 ;
312
+ }
309
313
return current_exception->exceptionType ;
310
314
}
311
315
Original file line number Diff line number Diff line change 189
189
</ p >
190
190
</ blockquote >
191
191
</ td >
192
- < td > </ td >
193
- < td > </ td >
194
- < td > </ td >
192
+ < td > ✓ </ td >
193
+ < td > ✓ </ td >
194
+ < td > ✓ </ td >
195
195
</ tr >
196
196
197
197
< tr >
206
206
</ p >
207
207
</ blockquote >
208
208
</ td >
209
- < td > </ td >
210
- < td > </ td >
211
- < td > </ td >
209
+ < td > ✓ </ td >
210
+ < td > ✓ </ td >
211
+ < td > ✓ </ td >
212
212
</ tr >
213
213
214
214
< tr >
You can’t perform that action at this time.
0 commit comments