Changeset 381132b for tests/exceptions
- Timestamp:
- Jul 6, 2020, 1:23:56 PM (5 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:
- 6437ce4
- Parents:
- 9ec8c5f
- Location:
- tests/exceptions
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified tests/exceptions/.expect/defaults.txt ¶
r9ec8c5f r381132b 3 3 jump default handler. 4 4 Catch unhandled_exception. 5 cross terminate throw 6 cross terminate default 7 cross terminate catch 8 cross resume throw 9 cross resume default 10 cross resume catch -
TabularUnified tests/exceptions/defaults.cfa ¶
r9ec8c5f r381132b 30 30 throwResume (log_message){(char *)"Should be printed.\n"}; 31 31 } catchResume (log_message * this) { 32 printf( this->virtual_table->msg(this));32 printf("%s", this->virtual_table->msg(this)); 33 33 } 34 34 // But we don't have to: … … 69 69 } 70 70 71 TRIVIAL_EXCEPTION(second); 72 73 void cross_test(void) { 74 void defaultTerminationHandler(first &) { 75 printf("cross terminate default\n"); 76 throw (second){}; 77 } 78 void defaultResumptionHandler(first &) { 79 printf("cross resume default\n"); 80 throwResume (second){}; 81 } 82 try { 83 printf("cross terminate throw\n"); 84 throw (first){}; 85 } catch (second *) { 86 printf("cross terminate catch\n"); 87 } 88 try { 89 printf("cross resume throw\n"); 90 throwResume (first){}; 91 } catchResume (second *) { 92 printf("cross resume catch\n"); 93 } 94 } 95 71 96 int main(int argc, char * argv[]) { 72 97 log_test(); 73 98 jump_test(); 74 99 unhandled_test(); 100 cross_test(); 75 101 }
Note: See TracChangeset
for help on using the changeset viewer.