Changes in src/libcfa/exception.h [6b0b624:86d5ba7c]
- File:
-
- 1 edited
-
src/libcfa/exception.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/exception.h
r6b0b624 r86d5ba7c 9 9 // Author : Andrew Beach 10 10 // Created On : Mon Jun 26 15:11:00 2017 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Sat Jul 22 09:57:02201713 // Update Count : 311 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Jul 27 12:42:00 2017 13 // Update Count : 4 14 14 // 15 15 16 16 #pragma once 17 17 18 // Later to be a special structure type.19 typedef int exception;20 18 21 19 #ifdef __CFORALL__ 22 20 extern "C" { 23 21 #endif 22 23 #if 1 24 typedef int exception; 25 #else 26 struct exception_t; 27 struct exception_t_vtable { 28 struct exception_t_vtable const * parent; 29 size_t size; 30 void (*copy)(struct exception_t *this, struct exception_t * other); 31 void (*free)(struct exception_t *this); 32 const char (*msg)(struct exception_t *this); 33 }; 34 struct exception_t { 35 struct exception_vtable const * virtual_table; 36 }; 37 typedef struct exception_t exception; 38 #endif 39 24 40 25 41 // Used in throw statement translation. … … 34 50 int (*match_block)(exception * except)); 35 51 52 // Clean-up the exception in catch blocks. 53 void __cfaehm__cleanup_terminate(exception ** except); 54 36 55 // Data structure creates a list of resume handlers. 37 56 struct __cfaehm__try_resume_node { … … 40 59 }; 41 60 61 // These act as constructor and destructor for the resume node. 42 62 void __cfaehm__try_resume_setup( 43 63 struct __cfaehm__try_resume_node * node, … … 47 67 48 68 // Check for a standard way to call fake deconstructors. 49 struct __cfaehm__cleanup_hook { 50 }; 69 struct __cfaehm__cleanup_hook {}; 51 70 52 71 #ifdef __CFORALL__
Note:
See TracChangeset
for help on using the changeset viewer.