summaryrefslogtreecommitdiff
path: root/eval_intern.h
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-08-25 15:03:42 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-08-25 15:03:42 +0000
commit6f6a076086f85942bb5eb22a4fda275a25dbe59f (patch)
tree83ee779d5bd7f4d9b3f4c083e5270998130f6690 /eval_intern.h
parenta4f174ac302ec6f8b52091a27ddb6aaab5319e23 (diff)
merge revision(s) r45503,r45504,r45508,r45509,r47275: [Backport #9692]
* 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] * configure.in (ac_cv_func___builtin_setjmp): __builtin_longjmp() in clang 5.1 uses `void**`, not `jmp_buf`. [Bug #9692] * configure.in (ac_cv_func___builtin_setjmp): __builtin_longjmp() in Apple LLVM 5.1 (LLVM 3.4svn) uses `void**`, not `jmp_buf`. [Bug #9692] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval_intern.h')
-rw-r--r--eval_intern.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/eval_intern.h b/eval_intern.h
index 5064fde257..2e00efde03 100644
--- a/eval_intern.h
+++ b/eval_intern.h
@@ -154,7 +154,8 @@ NORETURN(static inline void rb_threadptr_tag_jump(rb_thread_t *, int));
static inline void
rb_threadptr_tag_jump(rb_thread_t *th, int st)
{
- ruby_longjmp(th->tag->buf, (th->state = st));
+ th->state = st;
+ ruby_longjmp(th->tag->buf, 1);
}
/*