tccpe: build IAT vector with with -run too
[tinycc/k1w1.git] / win32 / include / setjmp.h
blob0d9897e63ce832af4fe3d358d57521f213fce891
1 /*
2 * setjmp.h
4 * Declarations supporting setjmp and longjump, a method for avoiding
5 * the normal function call return sequence. (Bleah!)
7 * This file is part of the Mingw32 package.
9 * Contributors:
10 * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
12 * THIS SOFTWARE IS NOT COPYRIGHTED
14 * This source code is offered for use in the public domain. You may
15 * use, modify or distribute it freely.
17 * This code is distributed in the hope that it will be useful but
18 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
19 * DISCLAIMED. This includes but is not limited to warranties of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
22 * $Revision: 1.2 $
23 * $Author: bellard $
24 * $Date: 2005/04/17 13:14:29 $
28 #ifndef _SETJMP_H_
29 #define _SETJMP_H_
31 /* All the headers include this file. */
32 #include <_mingw.h>
34 #ifndef RC_INVOKED
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
41 * The buffer used by setjmp to store the information used by longjmp
42 * to perform it's evil goto-like work. The size of this buffer was
43 * determined through experimentation; it's contents are a mystery.
44 * NOTE: This was determined on an i386 (actually a Pentium). The
45 * contents could be different on an Alpha or something else.
47 #define _JBLEN 16
48 #define _JBTYPE int
49 typedef _JBTYPE jmp_buf[_JBLEN];
52 * The function provided by CRTDLL which appears to do the actual work
53 * of setjmp.
55 int _setjmp (jmp_buf);
57 #define setjmp(x) _setjmp(x)
60 * Return to the last setjmp call and act as if setjmp had returned
61 * nVal (which had better be non-zero!).
63 void longjmp (jmp_buf, int);
65 #ifdef __cplusplus
67 #endif
69 #endif /* Not RC_INVOKED */
71 #endif /* Not _SETJMP_H_ */