#include #define T(t) (t*)0; static void f() { T(jmp_buf) {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)(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 }