[PATCH 21.4] Problem with gcc 5.3 changes
Mats Lidell <[email protected]> Sat, 26 Mar 2016 01:27:50 +0100
| Newsgroups | gmane.emacs.xemacs.patches |
|---|---|
| Organization | The XEmacs Project |
| Message-ID | <[email protected]> |
Hi,
With gcc 5.3 some compatibility problems are introduced for which the 21.4
code is not prepared to handle. See the gentoo bug report
https://bugs.gentoo.org/show_bug.cgi?id=576512
for some details. This debian bug report is also of interest:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=778180
>From that I have compiled this patch.
diff -r e2da872593c0 configure.in
--- a/configure.in Tue Mar 24 22:15:53 2015 -0400
+++ b/configure.in Sun Mar 13 13:48:24 2016 +0100
@@ -1939,6 +1939,8 @@
CFLAGS="-g -O3 -Wall -Wno-switch -Winline -Wmissing-prototypes"
dnl Yuck, bad compares have been worth at least 3 crashes!
CFLAGS="$CFLAGS -Wsign-compare"
+ dnl Use old gnu inline semantics until we fix the source
+ CFLAGS="$CFLAGS -fgnu89-inline"
dnl XEmacs is known not to be strict-aliasing-safe.
case "`gcc -v --help 2>&1`" in
*-fstrict-aliasing* ) CFLAGS="$CFLAGS -fno-strict-aliasing" ;;
diff -r e2da872593c0 src/lisp.h
--- a/src/lisp.h Tue Mar 24 22:15:53 2015 -0400
+++ b/src/lisp.h Sun Mar 13 13:48:24 2016 +0100
@@ -193,6 +193,8 @@
# endif /* GNUC */
#endif
+#ifndef _GCC_MAX_ALIGN_T
+#define _GCC_MAX_ALIGN_T
/* No type has a greater alignment requirement than max_align_t.
(except perhaps for types we don't use, like long double) */
typedef union
@@ -202,6 +204,7 @@
struct { void (*f)(void); } f;
struct { double d; } d;
} max_align_t;
+#endif
#ifndef ALIGNOF
# if defined (__GNUC__) && (__GNUC__ >= 2)
Yours Mats