summaryrefslogtreecommitdiff
path: root/vm_insnhelper.c
diff options
context:
space:
mode:
authorshugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-13 14:18:20 +0000
committershugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-13 14:18:20 +0000
commita4629a2ec5c0d975947fb7b18e67776639974e66 (patch)
tree075a91a092a6ef03a72f9642909cc3fe0fa75c7c /vm_insnhelper.c
parentc01f06089f233e74b9e4c0d41b395264da87062f (diff)
* vm_insnhelper.c (vm_call_super_method): a workaround for the
failure of TestRefinement#test_refine_recursion in Windows. See [ruby-core:50871] for details. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r--vm_insnhelper.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index caaab54e1d..d1b136e684 100644
--- a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -1852,6 +1852,11 @@ vm_call_general(rb_thread_t *th, rb_control_frame_t *reg_cfp, rb_call_info_t *ci
static VALUE
vm_call_super_method(rb_thread_t *th, rb_control_frame_t *reg_cfp, rb_call_info_t *ci)
{
+#ifdef _WIN32
+ volatile int x = 0; /* a workaround to avoid VC++ optimization which
+ makes vm_call_super_method as an alias of
+ vm_call_general! */
+#endif
return vm_call_method(th, reg_cfp, ci);
}