summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2020-01-30 17:49:51 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2020-02-06 11:46:51 +0900
commit72bbf60f3a6b87a36bebc6b10ae867d8bcb9cadd (patch)
tree2d9426dd596ff909eb5054ad7c38cfa2de8e9cc4 /tool
parent3b69552a5ca1fb814fd7279edd970be458a907f2 (diff)
do not assume GCC for __builtin_setjmp
Namely recent Sun C compiler has this function, and is not a GCC. Meanwhile the code without RUBY_JMP_BUF assumes GCC. We have to define the macro when we detect __builtin_setjmp for non-GCC compilers.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/2885
Diffstat (limited to 'tool')
-rw-r--r--tool/m4/ruby_setjmp_type.m42
1 files changed, 1 insertions, 1 deletions
diff --git a/tool/m4/ruby_setjmp_type.m4 b/tool/m4/ruby_setjmp_type.m4
index 9da9a88680..29893543a4 100644
--- a/tool/m4/ruby_setjmp_type.m4
+++ b/tool/m4/ruby_setjmp_type.m4
@@ -47,6 +47,6 @@ AS_IF([test x$setjmp_prefix:$setjmp_sigmask = xsig:], [
AC_MSG_RESULT(${setjmp_prefix}setjmp${setjmp_suffix}${setjmp_cast:+\($setjmp_cast\)}${setjmp_sigmask})
AC_DEFINE_UNQUOTED([RUBY_SETJMP(env)], [${setjmp_prefix}setjmp${setjmp_suffix}($setjmp_cast(env)${setjmp_sigmask})])
AC_DEFINE_UNQUOTED([RUBY_LONGJMP(env,val)], [${setjmp_prefix}longjmp($setjmp_cast(env),val)])
-AS_IF([test x$setjmp_prefix != x__builtin_], AC_DEFINE_UNQUOTED(RUBY_JMP_BUF, ${setjmp_sigmask+${setjmp_prefix}}jmp_buf))
+AS_IF([test "(" "$GCC" != yes ")" -o x$setjmp_prefix != x__builtin_], AC_DEFINE_UNQUOTED(RUBY_JMP_BUF, ${setjmp_sigmask+${setjmp_prefix}}jmp_buf))
AS_IF([test x$setjmp_suffix = xex], [AC_DEFINE_UNQUOTED(RUBY_USE_SETJMPEX, 1)])
])dnl