summaryrefslogtreecommitdiff
path: root/vm.c
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-12-30 22:25:13 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-12-30 22:25:13 +0000
commit035e4949c5f3c1dda9a9bf31db3f29201d70a25f (patch)
treebb120b8253868b8637b0599b48a70f259777ccde /vm.c
parent85bc3bdb08ef4380d3d4c78e773a02dadc011558 (diff)
* vm.c (vm_exec): add guard to prevent optimization for LLVM clang.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r--vm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/vm.c b/vm.c
index 67ca4393a5..2f38eeef2e 100644
--- a/vm.c
+++ b/vm.c
@@ -1216,6 +1216,9 @@ vm_exec(rb_thread_t *th)
vm_loop_start:
result = vm_exec_core(th, initial);
if ((state = th->state) != 0) {
+#ifdef __llvm__
+ rb_thread_t t = *th;
+#endif
err = result;
th->state = 0;
goto exception_handler;