Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/exception.h

    r86d5ba7c r6b0b624  
    99// Author           : Andrew Beach
    1010// Created On       : Mon Jun 26 15:11:00 2017
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Fri Jul 27 12:42:00 2017
    13 // Update Count     : 4
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Sat Jul 22 09:57:02 2017
     13// Update Count     : 3
    1414//
    1515
    1616#pragma once
    1717
     18// Later to be a special structure type.
     19typedef int exception;
    1820
    1921#ifdef __CFORALL__
    2022extern "C" {
    2123#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 
    4024
    4125// Used in throw statement translation.
     
    5034    int (*match_block)(exception * except));
    5135
    52 // Clean-up the exception in catch blocks.
    53 void __cfaehm__cleanup_terminate(exception ** except);
    54 
    5536// Data structure creates a list of resume handlers.
    5637struct __cfaehm__try_resume_node {
     
    5940};
    6041
    61 // These act as constructor and destructor for the resume node.
    6242void __cfaehm__try_resume_setup(
    6343    struct __cfaehm__try_resume_node * node,
     
    6747
    6848// Check for a standard way to call fake deconstructors.
    69 struct __cfaehm__cleanup_hook {};
     49struct __cfaehm__cleanup_hook {
     50};
    7051
    7152#ifdef __CFORALL__
Note: See TracChangeset for help on using the changeset viewer.