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, 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?

Cheerio,
hauke

-- 
     The ASCII Ribbon Campaign                    Hauke Fath
()     No HTML/RTF in email            Institut für Nachrichtentechnik
/\     No Word docs in email                     TU Darmstadt
     Respect for open standards              Ruf +49-6151-16-21344


Home | Main Index | Thread Index | Old Index