mike121 pushed a commit to branch main
in repository guile.
commit b9a40cdc18eb6f785a0f437da78d336046dfbaa1
Author: Michael Gran <[email protected]>
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