X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fapi%2Fsetjmp.c;h=2333aa13d9848b21fa51a885873097e05aa46dc2;hb=ec474bb2d6954a67022ef5ead112a8aec3b00df0;hp=c4178c34cbccee29d101dec50f068e44590acb4a;hpb=056b010b1d5296266c0c61891d4ae896f9c9ba65;p=libc-test diff --git a/src/api/setjmp.c b/src/api/setjmp.c index c4178c3..2333aa1 100644 --- a/src/api/setjmp.c +++ b/src/api/setjmp.c @@ -3,11 +3,27 @@ static void f() { T(jmp_buf) -void(*p_longjmp)(jmp_buf,int) = longjmp; -int(*p_setjmp)(jmp_buf) = setjmp; +{void(*p)(jmp_buf,int) = longjmp;} +#ifdef setjmp +{int x = setjmp((jmp_buf){0});} +#else +{int(*p)(jmp_buf) = setjmp;} +#endif #ifdef _POSIX_C_SOURCE T(sigjmp_buf) -void(*p_siglongjmp)(sigjmp_buf,int) = siglongjmp; -int(*p_sigsetjmp)(sigjmp_buf,int) = sigsetjmp; +{void(*p)(sigjmp_buf,int) = siglongjmp;} +#ifdef sigsetjmp +{int x = sigsetjmp((sigjmp_buf){0}, 0);} +#else +{int(*p)(sigjmp_buf,int) = sigsetjmp;} +#endif +#endif +#if defined _XOPEN_SOURCE && defined OBSOLETE +{void(*p)(jmp_buf,int) = _longjmp;} +#ifdef _setjmp +{int x = _setjmp((jmp_buf){0});} +#else +{int(*p)(jmp_buf) = _setjmp;} +#endif #endif }