Changeset e276be6 for libcfa/src/exception.c
- Timestamp:
- Apr 6, 2020, 8:50:45 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 9d5d01f
- Parents:
- 23ecea4 (diff), f1b6671 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/exception.c
r23ecea4 re276be6 10 10 // Created On : Mon Jun 26 15:13:00 2017 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Apr 03 11:57:00 202013 // Update Count : 1 412 // Last Modified On : Mon Apr 06 14:40:00 2020 13 // Update Count : 15 14 14 // 15 15 … … 75 75 // RESUMPTION ================================================================ 76 76 77 static void reset_top_resume(struct __cfaehm_try_resume_node ** store) { 78 this_exception_context()->top_resume = *store; 79 } 80 77 81 void __cfaehm_throw_resume(exception_t * except) { 78 82 struct exception_context_t * context = this_exception_context(); … … 80 84 __cfaabi_dbg_print_safe("Throwing resumption exception\n"); 81 85 86 __attribute__((cleanup(reset_top_resume))) 82 87 struct __cfaehm_try_resume_node * original_head = context->top_resume; 83 88 struct __cfaehm_try_resume_node * current = context->top_resume; … … 86 91 context->top_resume = current->next; 87 92 if (current->handler(except)) { 88 context->top_resume = original_head;89 93 return; 90 94 } … … 92 96 93 97 __cfaabi_dbg_print_safe("Unhandled exception\n"); 94 context->top_resume = original_head;95 98 96 99 // Fall back to termination:
Note: See TracChangeset
for help on using the changeset viewer.