mike121 pushed a commit to branch main
in repository guile.

commit b9a40cdc18eb6f785a0f437da78d336046dfbaa1
Author: Michael Gran <spk...@yahoo.com>
AuthorDate: Mon Jul 17 14:50:41 2023 -0700

    Avoid inline assembly in VM when using Clang
    
    Clang uses a different format for inline assembly.  Also, as noted
    in the comment, this register usage is likely moot.
    
    * libguile/vm-engine.c (JT_REG)[__GNUC__ && !__clang __]: define to empty
---
 libguile/vm-engine.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index 510563ce4..c0145ee8a 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -73,7 +73,7 @@
    compilation failures.  It can be revived if it's useful, but my naive
    hope is that simply annotating the locals with "register" will be a
    sufficient hint to the compiler.  */
-#ifdef __GNUC__
+#if defined(__GNUC__) && ! defined(__clang__)
 # if defined __x86_64__
 /* GCC 4.6 chooses %rbp for IP_REG and %rbx for SP_REG, which works
    well.  Tell it to keep the jump table in a r12, which is

Reply via email to