Changes in src/libcfa/exception.h [cbce272:38ac6ec]
- File:
-
- 1 edited
-
src/libcfa/exception.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/exception.h
rcbce272 r38ac6ec 10 10 // Created On : Mon Jun 26 15:11:00 2017 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Fri Aug 4 15:20:00 201713 // Update Count : 512 // Last Modified On : Tus Jul 11 16:31:00 2017 13 // Update Count : 2 14 14 // 15 15 16 #pragma once 16 #ifndef EXCEPTION_H 17 #define EXCEPTION_H 17 18 19 20 // Later to be a special structure type. 21 typedef int exception; 18 22 19 23 #ifdef __CFORALL__ 20 24 extern "C" { 21 25 #endif 22 23 struct __cfaehm__base_exception_t;24 typedef struct __cfaehm__base_exception_t exception;25 struct __cfaehm__base_exception_t_vtable {26 const struct __cfaehm__base_exception_t_vtable * parent;27 size_t size;28 void (*copy)(struct __cfaehm__base_exception_t *this,29 struct __cfaehm__base_exception_t * other);30 void (*free)(struct __cfaehm__base_exception_t *this);31 const char (*msg)(struct __cfaehm__base_exception_t *this);32 };33 struct __cfaehm__base_exception_t {34 struct __cfaehm__base_exception_t_vtable const * virtual_table;35 };36 extern struct __cfaehm__base_exception_t_vtable37 ___cfaehm__base_exception_t_vtable_instance;38 39 26 40 27 // Used in throw statement translation. … … 49 36 int (*match_block)(exception * except)); 50 37 51 // Clean-up the exception in catch blocks.52 void __cfaehm__cleanup_terminate(void * except);53 54 38 // Data structure creates a list of resume handlers. 55 39 struct __cfaehm__try_resume_node { … … 58 42 }; 59 43 60 // These act as constructor and destructor for the resume node.61 44 void __cfaehm__try_resume_setup( 62 45 struct __cfaehm__try_resume_node * node, … … 66 49 67 50 // Check for a standard way to call fake deconstructors. 68 struct __cfaehm__cleanup_hook {}; 51 struct __cfaehm__cleanup_hook { 52 }; 69 53 70 54 #ifdef __CFORALL__ 71 55 } 72 56 #endif 57 58 #endif //EXCEPTION_H
Note:
See TracChangeset
for help on using the changeset viewer.