pkgsrc/lang/ruby21-base/patches/patch-eval.c
joerg 2aa9afe82c Mark a few more variables as volatile to prevent clobbering by setjmp.
Found due to crashes with very recent clang. Bump revision.
2015-11-20 14:31:59 +00:00

22 lines
751 B
C

$NetBSD: patch-eval.c,v 1.1 2015/11/20 14:31:59 joerg Exp $
--- eval.c.orig 2015-11-16 14:50:49.000000000 +0000
+++ eval.c
@@ -743,7 +743,7 @@ rb_rescue2(VALUE (* b_proc) (ANYARGS), V
{
int state;
rb_thread_t *th = GET_THREAD();
- rb_control_frame_t *cfp = th->cfp;
+ rb_control_frame_t *volatile cfp = th->cfp;
volatile VALUE result = Qfalse;
volatile VALUE e_info = th->errinfo;
va_list args;
@@ -809,7 +809,7 @@ rb_protect(VALUE (* proc) (VALUE), VALUE
volatile VALUE result = Qnil;
volatile int status;
rb_thread_t *th = GET_THREAD();
- rb_control_frame_t *cfp = th->cfp;
+ rb_control_frame_t * volatile cfp = th->cfp;
struct rb_vm_protect_tag protect_tag;
rb_jmpbuf_t org_jmpbuf;