summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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