File tree Expand file tree Collapse file tree 1 file changed +3
-0
lines changed
library/std/src/personality Expand file tree Collapse file tree 1 file changed +3
-0
lines changed Original file line number Diff line number Diff line change @@ -147,6 +147,7 @@ cfg_if::cfg_if! {
147
147
} else {
148
148
match eh_action {
149
149
EHAction :: None => return continue_unwind( exception_object, context) ,
150
+ EHAction :: Filter ( _) if state & uw:: _US_FORCE_UNWIND as c_int != 0 => return continue_unwind( exception_object, context) ,
150
151
EHAction :: Cleanup ( lpad) | EHAction :: Catch ( lpad) | EHAction :: Filter ( lpad) => {
151
152
uw:: _Unwind_SetGR(
152
153
context,
@@ -207,6 +208,8 @@ cfg_if::cfg_if! {
207
208
} else {
208
209
match eh_action {
209
210
EHAction :: None => uw:: _URC_CONTINUE_UNWIND,
211
+ // Forced unwinding hits a terminate action.
212
+ EHAction :: Filter ( _) if actions as i32 & uw:: _UA_FORCE_UNWIND as i32 != 0 => uw:: _URC_CONTINUE_UNWIND,
210
213
EHAction :: Cleanup ( lpad) | EHAction :: Catch ( lpad) | EHAction :: Filter ( lpad) => {
211
214
uw:: _Unwind_SetGR(
212
215
context,
You can’t perform that action at this time.
0 commit comments