tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: editors/xemacs/patches/patch-src_lisp.h v1.3 breaks XEmacs
On Tue, Mar 29, 2016 at 03:24:49PM +0200, Hauke Fath wrote:
> On Tue, 29 Mar 2016 14:33:05 +0200, Joerg Sonnenberger wrote:
> > I have no idea where that define comes from, the patch only stops
> > defining max_align_t unconditionally.
>
> --- patch-src_lisp.h 4 Feb 2015 09:19:20 -0000 1.2
> +++ patch-src_lisp.h 26 Mar 2016 23:26:14 -0000 1.3
> @@ -1,16 +1,20 @@
> -$NetBSD: patch-src_lisp.h,v 1.2 2015/02/04 09:19:20 hauke Exp $
> +$NetBSD: patch-src_lisp.h,v 1.3 2016/03/26 23:26:14 joerg Exp $
>
> ---- src/lisp.h.orig 2015-01-29 15:04:29.000000000 +0000
> +--- src/lisp.h.orig 2016-03-26 15:03:47.482901440 +0000
> +++ src/lisp.h
> -@@ -265,6 +265,11 @@ void assert_failed (const char *, int, c
> - /*#define REGISTER register*/
> - /*#endif*/
> +@@ -195,6 +195,7 @@ void xfree (void *);
>
> -+#if SIZEOF_LONG == 8
> -+#define UINT_64_BIT unsigned long
> -+#elif SIZEOF_LONG_LONG == 8
> -+#define UINT_64_BIT unsigned long long
> + /* No type has a greater alignment requirement than max_align_t.
> + (except perhaps for types we don't use, like long double) */
> ++#if (__STDC_VERSION__ - 0) < 201112L && (__cplusplus - 0) < 201103L
> + typedef union
> + {
> + struct { long l; } l;
> +@@ -202,6 +203,7 @@ typedef union
> + struct { void (*f)(void); } f;
> + struct { double d; } d;
> + } max_align_t;
> +#endif
>
> - /* EMACS_INT is the underlying integral type into which a Lisp_Object
> must fit.
> - In particular, it must be large enough to contain a pointer.
> + #ifndef ALIGNOF
> + # if defined (__GNUC__) && (__GNUC__ >= 2)
>
> removes UINT_64_BIT, no?
Hm. No idea why that didn't give a merge fault. I simply missed the new
line completely. That said, the define is wrong. It should just use
#define UINT_64_BIT uint64_t without any conditionals.
Joerg
Home |
Main Index |
Thread Index |
Old Index