Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

/Users/trevorw/projects/release/covered-0.7.4/src/cexcept.h File Reference

#include <setjmp.h>

Go to the source code of this file.

Data Structures

struct  exception_context

Defines

#define define_exception_type(etype)
#define init_exception_context(ec)   ((void)((ec)->last = 0))
#define Catch(e)   exception__catch(&(e))
#define Catch_anonymous   exception__catch(0)
#define Try
#define exception__catch(e_addr)
#define Throw


Define Documentation

#define Catch  )     exception__catch(&(e))
 

#define Catch_anonymous   exception__catch(0)
 

#define define_exception_type etype   ) 
 

Value:

struct exception__state { \
  etype *exception; \
  jmp_buf env; \
}

#define exception__catch e_addr   ) 
 

Value:

else { } \
          the_exception_context->caught = 0; \
        } \
        else the_exception_context->caught = 1; \
        the_exception_context->last = exception__p; \
        break; \
      } \
      else exception__s.exception = e_addr; \
  } \
  if (!the_exception_context->caught) { } \
  else

#define init_exception_context ec   )     ((void)((ec)->last = 0))
 

#define Throw
 

Value:

for (;; longjmp(the_exception_context->last->env, 1)) \
    if (the_exception_context->last->exception) \
      *the_exception_context->last->exception =

#define Try
 

Value:

{ \
    struct exception__state *exception__p, exception__s; \
    int exception__i; \
    exception__p = the_exception_context->last; \
    the_exception_context->last = &exception__s; \
    for (exception__i = 0; ; exception__i = 1) \
      if (exception__i) { \
        if (setjmp(exception__s.env) == 0) { \
          if (&exception__s)


Generated on Wed Jun 17 22:19:20 2009 for Covered by doxygen 1.3.4