diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-04-02 08:43:18 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-04-02 08:43:18 +0000 |
commit | 4ad0071dc8784c1d262e8bd3dd3e9e62d322a395 (patch) | |
tree | 0c9a466373fd4e0fc4a66dee1f8a8149944add5f /configure.in | |
parent | 1f2082005453970b329bf14fc815933cd6d39915 (diff) | |
download | ruby-4ad0071dc8784c1d262e8bd3dd3e9e62d322a395.tar.gz |
configure.in: do not use a variable for longjmp
* configure.in (ac_cv_func___builtin_setjmp): gcc 4.9 disallows a
variable as the second argument of __builtin_longjmp().
[ruby-core:61800] [Bug #9692]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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]) ]) |