summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/xemacs/files/xemacs-21.5.34-gcc5.patch')
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.34-gcc5.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-gcc5.patch b/app-editors/xemacs/files/xemacs-21.5.34-gcc5.patch
new file mode 100644
index 000000000000..025a390f3335
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.34-gcc5.patch
@@ -0,0 +1,35 @@
+diff --git a/src/lisp.h b/src/lisp.h
+--- a/src/lisp.h
++++ b/src/lisp.h
+@@ -1154,6 +1154,8 @@
+
+ /* ------------------------ alignment definitions ------------------- */
+
++#if (!defined (__STDC_VERSION__) || __STDC_VERSION__ < 201112L) && \
++ (!defined (__cplusplus) || __cplusplus < 201103L)
+ /* No type has a greater alignment requirement than max_align_t.
+ (except perhaps for types we don't use, like long double) */
+ typedef union
+@@ -1163,6 +1165,7 @@
+ struct { void (*f)(void); } f;
+ struct { double d; } d;
+ } max_align_t;
++#endif
+
+ /* ALIGNOF returns the required alignment of a type -- i.e. a value such
+ that data of this type must begin at a memory address which is a
+@@ -1170,7 +1173,11 @@
+ as the type itself. */
+
+ #ifndef ALIGNOF
+-# if defined (__GNUC__) && (__GNUC__ >= 2)
++# if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
++# define ALIGNOF(type) _Alignof(type)
++# elif defined (__cplusplus) && __cplusplus >= 201103L
++# define ALIGNOF(type) alignof(type)
++# elif defined (__GNUC__) && (__GNUC__ >= 2)
+ /* gcc has an extension that gives us exactly what we want. */
+ # define ALIGNOF(type) __alignof__ (type)
+ # elif ! defined (__cplusplus)
+
+