forked from pool/emacs
bc0b8fdb3a
Copy from editors/emacs based on submit request 17729 from user WernerFink OBS-URL: https://build.opensuse.org/request/show/17729 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/emacs?expand=0&rev=35
77 lines
2.2 KiB
Plaintext
77 lines
2.2 KiB
Plaintext
--- src/lisp.h
|
|
+++ src/lisp.h 2009-08-11 14:46:30.417901307 +0200
|
|
@@ -161,7 +161,7 @@ extern void die P_((const char *, const
|
|
/* We also need to be able to specify mult-of-8 alignment on static vars. */
|
|
# if defined DECL_ALIGN
|
|
/* We currently do not support USE_LSB_TAG with a union Lisp_Object. */
|
|
-# ifndef USE_LISP_UNION_TYPE
|
|
+# if !defined(USE_LISP_UNION_TYPE) && !defined(__s390x__)
|
|
# define USE_LSB_TAG
|
|
# endif
|
|
# endif
|
|
@@ -381,11 +381,17 @@ enum pvec_type
|
|
|
|
#define TYPEMASK ((((EMACS_INT) 1) << GCTYPEBITS) - 1)
|
|
#define XTYPE(a) ((enum Lisp_Type) (((EMACS_UINT) (a)) & TYPEMASK))
|
|
+#ifndef XINT
|
|
#define XINT(a) (((EMACS_INT) (a)) >> GCTYPEBITS)
|
|
+#endif
|
|
+#ifndef XUINT
|
|
#define XUINT(a) (((EMACS_UINT) (a)) >> GCTYPEBITS)
|
|
+#endif
|
|
+#ifndef XSET
|
|
#define XSET(var, type, ptr) \
|
|
(eassert (XTYPE (ptr) == 0), /* Check alignment. */ \
|
|
(var) = ((EMACS_INT) (type)) | ((EMACS_INT) (ptr)))
|
|
+#endif
|
|
#define make_number(N) (((EMACS_INT) (N)) << GCTYPEBITS)
|
|
|
|
/* XFASTINT and XSETFASTINT are for use when the integer is known to be
|
|
@@ -394,7 +400,9 @@ enum pvec_type
|
|
#define XFASTINT(a) XINT (a)
|
|
#define XSETFASTINT(a, b) ((a) = make_number (b))
|
|
|
|
+#ifndef XPNTR
|
|
#define XPNTR(a) ((EMACS_INT) ((a) & ~TYPEMASK))
|
|
+#endif
|
|
|
|
#else /* not USE_LSB_TAG */
|
|
|
|
@@ -452,16 +460,24 @@ enum pvec_type
|
|
|
|
#ifdef EXPLICIT_SIGN_EXTEND
|
|
/* Make sure we sign-extend; compilers have been known to fail to do so. */
|
|
+#ifndef XINT
|
|
#define XINT(a) (((a).s.val << (BITS_PER_EMACS_INT - VALBITS)) \
|
|
>> (BITS_PER_EMACS_INT - VALBITS))
|
|
+#endif
|
|
#else
|
|
+#ifndef XINT
|
|
#define XINT(a) ((a).s.val)
|
|
+#endif
|
|
#endif /* EXPLICIT_SIGN_EXTEND */
|
|
|
|
+#ifndef XUINT
|
|
#define XUINT(a) ((a).u.val)
|
|
+#endif
|
|
|
|
+#ifndef XSET
|
|
#define XSET(var, vartype, ptr) \
|
|
(((var).s.val = ((EMACS_INT) (ptr))), ((var).s.type = ((char) (vartype))))
|
|
+#endif
|
|
|
|
#if __GNUC__ >= 2 && defined (__OPTIMIZE__)
|
|
#define make_number(N) \
|
|
--- src/m/ibms390x.h
|
|
+++ src/m/ibms390x.h 2009-08-11 14:47:06.625902091 +0200
|
|
@@ -78,7 +78,9 @@ NOTE-END */
|
|
working alloca function and it should be used. Undefine it if an
|
|
assembler-language alloca in the file alloca.s should be used. */
|
|
|
|
+#ifndef HAVE_ALLOCA
|
|
#define HAVE_ALLOCA
|
|
+#endif
|
|
|
|
/* On the 64 bit architecture, we can use 60 bits for addresses */
|
|
|