12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #ifndef _BITS_SETJMP_H
- #define _BITS_SETJMP_H 1
- #if !defined _SETJMP_H && !defined _PTHREAD_H
- # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
- #endif
- #define __SETJMP_NUM_INT 32
- #define __SETJMP_NUM_DBL 32
- #define __SETJMP_INT(x) (x)
- #define __SETJMP_DBL(x) (__SETJMP_NUM_INT+(x))
- #define __SETJMP_LR (__SETJMP_NUM_INT+__SETJMP_NUM_DBL)
- #define __SETJMP_SP (__SETJMP_LR+1)
- #define __SETJMP_FP (__SETJMP_SP+1)
- #ifndef _ASM
- typedef struct
- __attribute__((__aligned__(8)))
- {
-
- unsigned long __ints[__SETJMP_NUM_INT];
- unsigned long __dbls[__SETJMP_NUM_DBL];
- unsigned long __lr;
- unsigned long __sp;
- unsigned long __fp;
- } __jmp_buf[1];
- #endif
- #define _JMPBUF_UNWINDS(jmpbuf, address) \
- ((void *) (address) < (void *) (jmpbuf)->__sp)
- #endif
|