aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--configure.in5
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 65a9665128..b2543cb9ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Apr 4 07:13:44 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in (ac_cv_func___builtin_setjmp): should not skip
+ flags restoration in RUBY_WERROR_FLAG by `break`.
+ [ruby-dev:48086] [Bug #9698]
+
Wed Apr 2 21:50:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (ac_cv_func___builtin_setjmp): __builtin_longjmp() in
diff --git a/configure.in b/configure.in
index 052c57dea9..a7d3c75a7d 100644
--- a/configure.in
+++ b/configure.in
@@ -2079,6 +2079,7 @@ if test x"${ac_cv_func___builtin_setjmp}" = xyes; then
fi
AC_CACHE_CHECK(for __builtin_setjmp, ac_cv_func___builtin_setjmp,
[
+ ac_cv_func___builtin_setjmp=no
for cast in "" "(void *)"; do
RUBY_WERROR_FLAG(
[AC_TRY_LINK([@%:@include <setjmp.h>
@@ -2089,9 +2090,9 @@ AC_CACHE_CHECK(for __builtin_setjmp, ac_cv_func___builtin_setjmp,
void (*volatile f)(void) = t;
if (!__builtin_setjmp($cast jb)) printf("%d\n", f != 0);
],
- [ac_cv_func___builtin_setjmp="yes with cast ($cast)"; break],
- [ac_cv_func___builtin_setjmp=no])
+ [ac_cv_func___builtin_setjmp="yes with cast ($cast)"])
])
+ test "$ac_cv_func___builtin_setjmp" = no || break
done])
# we don't use _setjmp if _longjmp doesn't exist.