diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/configure.in b/configure.in index 3845f05c7c..71b3da9613 100644 --- a/configure.in +++ b/configure.in @@ -2076,8 +2076,13 @@ AC_CACHE_CHECK(for sigsetjmp as a macro or function, ac_cv_func_sigsetjmp, AC_CACHE_CHECK(for __builtin_setjmp, ac_cv_func___builtin_setjmp, [AC_TRY_LINK([@%:@include <setjmp.h> - jmp_buf jb; void t(v) int v; {__builtin_longjmp(jb, v);}], - [__builtin_setjmp(jb);], + @%:@include <stdio.h> + jmp_buf jb; + void t(void) {__builtin_longjmp(jb, 1);}], + [ + void (*volatile f)(void) = t; + if (!__builtin_setjmp(jb)) printf("%d\n", f != 0); + ], [ac_cv_func___builtin_setjmp=yes], [ac_cv_func___builtin_setjmp=no]) ]) |