summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-10-07 00:48:03 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-10-07 00:48:03 +0000
commitfba68f4c31d636e557c4264527ad880e7fedfc27 (patch)
treea47cdf5546f185efc3996f978f8b181334f29d64
parent4f8376c655eee5038584e26534457b94f78229f6 (diff)
* vm_exec.c (vm_exec_core): Treat clang as non gcc on this
context: It has __asm__ but doesn't works well. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--vm_exec.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 3a96e54bfc..850f14f271 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Oct 7 09:14:28 2010 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * vm_exec.c (vm_exec_core): Treat clang as non gcc on this
+ context: It has __asm__ but doesn't works well.
+
Wed Oct 6 12:28:22 2010 Tanaka Akira <akr@fsij.org>
* lib/uri/generic.rb (URI::Generic#hostname): new method.
diff --git a/vm_exec.c b/vm_exec.c
index d7f9addfd4..15003c4e56 100644
--- a/vm_exec.c
+++ b/vm_exec.c
@@ -40,7 +40,7 @@ vm_exec_core(rb_thread_t *th, VALUE initial)
#if OPT_STACK_CACHING
#if 0
-#elif __GNUC__ && __x86_64
+#elif __GNUC__ && __x86_64 && !__clang__
DECL_SC_REG(VALUE, a, "12");
DECL_SC_REG(VALUE, b, "13");
#else
@@ -49,12 +49,12 @@ vm_exec_core(rb_thread_t *th, VALUE initial)
#endif
#endif
-#if __GNUC__ && __i386__
+#if __GNUC__ && __i386__ && !__clang__
DECL_SC_REG(VALUE *, pc, "di");
DECL_SC_REG(rb_control_frame_t *, cfp, "si");
#define USE_MACHINE_REGS 1
-#elif __GNUC__ && __x86_64__
+#elif __GNUC__ && __x86_64__ && !__clang__
DECL_SC_REG(VALUE *, pc, "14");
DECL_SC_REG(rb_control_frame_t *, cfp, "15");
#define USE_MACHINE_REGS 1