1 #ifndef _fail_
2 #define _fail_
3 
4 #include <setjmp.h>
5 #include "misc.h"
6 #include "mlvalues.h"
7 
8 struct longjmp_buffer {
9   jmp_buf buf;
10 };
11 
12 extern struct longjmp_buffer * external_raise;
13 extern value exn_bucket;
14 
15 EXTERN Noreturn mlraise(value);
16 EXTERN Noreturn raiseprimitive0(int exnindex);
17 EXTERN Noreturn raiseprimitive1(int exnindex, value arg);
18 EXTERN Noreturn raise_with_string(int exnindex, char * msg);
19 EXTERN Noreturn failwith(char *);
20 EXTERN Noreturn invalid_argument(char *);
21 EXTERN Noreturn raise_overflow(void);
22 EXTERN Noreturn raise_out_of_memory(void);
23 extern volatile int float_exn;
24 
25 extern double maxdouble;
26 
27 #endif /* _fail_ */
28