6b956c73ebd75e72a18d0d3faa6b73a64057dbab
[libc-test] / src / api / setjmp.c
1 #include <setjmp.h>
2 #define T(t) (t*)0;
3 static void f()
4 {
5 T(jmp_buf)
6 {void(*p)(jmp_buf,int) = longjmp;}
7 #ifdef setjmp
8 {int x = setjmp((jmp_buf){0});}
9 #else
10 {int(*p)(jmp_buf) = setjmp;}
11 #endif
12 #ifdef _POSIX_C_SOURCE
13 T(sigjmp_buf)
14 {void(*p)(sigjmp_buf,int) = siglongjmp;}
15 #ifdef sigsetjmp
16 {int x = sigsetjmp((sigjmp_buf){0});}
17 #else
18 {int(*p)(sigjmp_buf,int) = sigsetjmp;}
19 #endif
20 #endif
21 #if defined _XOPEN_SOURCE && defined OBSOLETE
22 {void(*p)(jmp_buf,int) = _longjmp;}
23 #ifdef _setjmp
24 {int x = _setjmp((jmp_buf){0});}
25 #else
26 {int(*p)(jmp_buf) = _setjmp;}
27 #endif
28 #endif
29 }