summaryrefslogtreecommitdiff
path: root/lang/ruby22/files/patch-eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'lang/ruby22/files/patch-eval.c')
-rw-r--r--lang/ruby22/files/patch-eval.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/lang/ruby22/files/patch-eval.c b/lang/ruby22/files/patch-eval.c
new file mode 100644
index 000000000000..c9e410810785
--- /dev/null
+++ b/lang/ruby22/files/patch-eval.c
@@ -0,0 +1,20 @@
+--- eval.c.orig 2014-12-09 02:16:27.000000000 +0100
++++ eval.c 2016-01-10 19:10:59.326340000 +0100
+@@ -797,7 +797,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;
+@@ -863,7 +863,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;
+