aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-18 16:40:10 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-18 16:40:10 +0000
commit9c0ff0c1c817ca27665efb4233f91f1916d8f45b (patch)
tree7fbfb6e92278e9b0601bc249f5ae8bd481634c97
parent344db69c452565dd20022093ff67874d420e55fe (diff)
downloadruby-9c0ff0c1c817ca27665efb4233f91f1916d8f45b.tar.gz
configure.in: setjmpex
* configure.in (setjmp-type): check if setjmpex() is really available. workaround for i686-w64-mingw32 which declares it but lacks its definition. * include/ruby/defines.h: include setjmpex.h only if also setjmpex() is available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog9
-rw-r--r--configure.in3
-rw-r--r--include/ruby/defines.h2
3 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index da2a1e53c7..b05483c3ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Sun May 19 01:39:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in (setjmp-type): check if setjmpex() is really available.
+ workaround for i686-w64-mingw32 which declares it but lacks its
+ definition.
+
+ * include/ruby/defines.h: include setjmpex.h only if also setjmpex()
+ is available.
+
Sat May 18 23:57:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (setjmp-type): use setjmpex() on w64-mingw32 to get rid
diff --git a/configure.in b/configure.in
index eaa203b618..6f559d6395 100644
--- a/configure.in
+++ b/configure.in
@@ -1724,6 +1724,7 @@ fi
AC_CHECK_FUNCS(__syscall)
AC_CHECK_FUNCS(_longjmp) # used for AC_ARG_WITH(setjmp-type)
AC_CHECK_FUNCS(_setjmp) # used for AC_ARG_WITH(setjmp-type)
+AC_CHECK_FUNCS(_setjmpex) # used for AC_ARG_WITH(setjmp-type)
AC_CHECK_FUNCS(chroot)
AC_CHECK_FUNCS(chsize)
AC_CHECK_FUNCS(clock_gettime)
@@ -1876,7 +1877,7 @@ if test ${setjmp_prefix+set}; then
elif test "$ac_cv_func___builtin_setjmp" = yes; then
setjmp_prefix=__builtin_
setjmp_suffix=
-elif test "$ac_cv_header_setjmpex_h" = yes; then
+elif test "$ac_cv_header_setjmpex_h:$ac_cv_func__setjmpex" = yes:yes; then
setjmp_prefix=
setjmp_suffix=ex
elif test "$ac_cv_func__setjmp" = yes; then
diff --git a/include/ruby/defines.h b/include/ruby/defines.h
index 31a8f6b22a..9b75647e64 100644
--- a/include/ruby/defines.h
+++ b/include/ruby/defines.h
@@ -61,7 +61,7 @@ extern "C" {
# include <sys/select.h>
#endif
-#ifdef HAVE_SETJMPEX_H
+#if defined HAVE_SETJMPEX_H && defined HAVE__SETJMPEX
#include <setjmpex.h>
#endif