diff --git a/ChangeLog b/ChangeLog index e788d81a6b..53d889796a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,8 @@ -Tue Apr 1 02:58:39 2008 Nobuyoshi Nakada +Tue Apr 1 03:20:40 2008 Nobuyoshi Nakada * configure.in (RUBY_SETJMP, RUBY_LONGJMP, RUBY_JMP_BUF): prefers - __builtin_setjmp, _setjmp over setjmp and sigsetjmp. - [ruby-core:16023], [ruby-core:16086] + _setjmp over setjmp and sigsetjmp. [ruby-core:16023] + __builtin_setjmp cannot handle a variable. * configure.in (--with-setjmp-type): new option to override the default rule in the above. diff --git a/configure.in b/configure.in index 8d10a7b3b8..b9bda745f8 100644 --- a/configure.in +++ b/configure.in @@ -712,7 +712,7 @@ AC_CHECK_FUNCS(fmod killpg wait4 waitpid fork spawnv syscall chroot fsync getcwd AC_CACHE_CHECK(for __builtin_setjmp, ac_cv_func___builtin_setjmp, [AC_TRY_LINK([@%:@include - jmp_buf jb; void t() {__builtin_longjmp(jb, 1);}], + jmp_buf jb; void t(v) int v; {__builtin_longjmp(jb, v);}], [__builtin_setjmp(jb);], [ac_cv_func___builtin_setjmp=yes], [ac_cv_func___builtin_setjmp=no])