Changeset 38ac6ec
- Timestamp:
- Jul 11, 2017, 4:39:34 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 20519b7
- Parents:
- fcab269
- Location:
- src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ControlStruct/ExceptTranslate.cc
rfcab269 r38ac6ec 10 10 // Created On : Wed Jun 14 16:49:00 2017 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Jun 30 13:30:00 201713 // Update Count : 112 // Last Modified On : Tus Jul 11 16:33:00 2017 13 // Update Count : 2 14 14 // 15 15 … … 157 157 Statement * create_terminate_throw( ThrowStmt *throwStmt ) { 158 158 // { int NAME = EXPR; __throw_terminate( &NAME ); } 159 return create_given_throw( "__cfaehm__throw_terminat ion", throwStmt );159 return create_given_throw( "__cfaehm__throw_terminate", throwStmt ); 160 160 } 161 161 Statement * create_terminate_rethrow( ThrowStmt *throwStmt ) { … … 164 164 Statement * result = new ExprStmt( 165 165 throwStmt->get_labels(), 166 new UntypedExpr( new NameExpr( "__cfaehm__rethrow_terminat ion" ) )166 new UntypedExpr( new NameExpr( "__cfaehm__rethrow_terminate" ) ) 167 167 ); 168 168 delete throwStmt; … … 171 171 Statement * create_resume_throw( ThrowStmt *throwStmt ) { 172 172 // __throw_resume( EXPR ); 173 return create_given_throw( "__cfaehm__throw_resum ption", throwStmt );173 return create_given_throw( "__cfaehm__throw_resume", throwStmt ); 174 174 } 175 175 Statement * create_resume_rethrow( ThrowStmt *throwStmt ) { -
src/libcfa/exception.c
rfcab269 r38ac6ec 10 10 // Created On : Mon Jun 26 15:13:00 2017 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Mon Nov 26 15:11:00 201713 // Update Count : 012 // Last Modified On : Tus Jul 11 16:36:00 2017 13 // Update Count : 1 14 14 // 15 15 … … 44 44 // RESUMPTION ================================================================ 45 45 46 void __cfaehm__throw_resum ption(exception * except) {46 void __cfaehm__throw_resume(exception * except) { 47 47 48 48 // DEBUG … … 65 65 66 66 // Fall back to termination: 67 __cfaehm__throw_terminat ion(except);67 __cfaehm__throw_terminate(except); 68 68 // TODO: Default handler for resumption. 69 69 } … … 111 111 } 112 112 113 void __cfaehm__throw_terminat ion( exception * val ) {113 void __cfaehm__throw_terminate( exception * val ) { 114 114 // Store the current exception 115 115 shared_stack.current_exception = *val; … … 147 147 148 148 // Nesting this the other way would probably be faster. 149 void __cfaehm__rethrow_terminat ion(void) {149 void __cfaehm__rethrow_terminate(void) { 150 150 // DEBUG 151 151 printf("Rethrowing termination exception\n"); 152 152 153 __cfaehm__throw_terminat ion(&shared_stack.current_exception);153 __cfaehm__throw_terminate(&shared_stack.current_exception); 154 154 } 155 155 -
src/libcfa/exception.h
rfcab269 r38ac6ec 10 10 // Created On : Mon Jun 26 15:11:00 2017 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Tus Jul 11 1 3:40:00 201713 // Update Count : 112 // Last Modified On : Tus Jul 11 16:31:00 2017 13 // Update Count : 2 14 14 // 15 15 … … 26 26 27 27 // Used in throw statement translation. 28 void __cfaehm__throw_terminat ion(exception * except) __attribute__((noreturn));29 void __cfaehm__rethrow_terminat ion() __attribute__((noreturn));30 void __cfaehm__throw_resum ption(exception * except);28 void __cfaehm__throw_terminate(exception * except) __attribute__((noreturn)); 29 void __cfaehm__rethrow_terminate() __attribute__((noreturn)); 30 void __cfaehm__throw_resume(exception * except); 31 31 32 32 // Function catches termination exceptions.
Note: See TracChangeset
for help on using the changeset viewer.