openbsd-ports/lang/clisp/patches/patch-src_lispbibl_d
2017-04-27 21:42:24 +00:00

20 lines
941 B
Plaintext

$OpenBSD: patch-src_lispbibl_d,v 1.7 2017/04/27 21:42:24 espie Exp $
--- src/lispbibl.d.orig 2013-06-17 14:15:17.000000000 +0000
+++ src/lispbibl.d
@@ -9090,6 +9090,15 @@ All other long words on the LISP-Stack a
#define setSP(adresse) \
({ __asm__ __volatile__ ("movel %0,"REGISTER_PREFIX"sp" : : "g" ((aint)(adresse)) : "sp" ); })
#define FAST_SP
+#elif defined(__clang__) && defined(__x86_64__)
+ /* Access to a register-"variable" %rsp */
+ #define SP() \
+ ({var aint __SP; \
+ __asm__ __volatile__ ("movq %%rsp,%0" : "=g" (__SP) : ); \
+ __SP; \
+ })
+ #define setSP(adresse) \
+ ({ __asm__ __volatile__ ("movq %0,%%rsp" : : "g" ((aint)(adresse)) : "sp" ); })
#elif (defined(GNU) || defined(INTEL)) && defined(I80386) && !defined(NO_ASM)
/* Access to a register-"variable" %esp */
#define SP() \