about summary refs log tree commit diff
path: root/Src/zsh.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/zsh.h')
-rw-r--r--Src/zsh.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/Src/zsh.h b/Src/zsh.h
index 2ae640a20..5c40cb945 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -1559,8 +1559,19 @@ struct heap {
     size_t size;		/* size of heap                              */
     size_t used;		/* bytes used from the heap                  */
     struct heapstack *sp;	/* used by pushheap() to save the value used */
+
+/* Uncomment the following if the struct needs padding to 64-bit size. */
+/* Make sure sizeof(heap) is a multiple of 8 
+#if defined(PAD_64_BIT) && !defined(__GNUC__)
+    size_t dummy;		
+#endif
+*/
 #define arena(X)	((char *) (X) + sizeof(struct heap))
-};
+}
+#if defined(PAD_64_BIT) && defined(__GNUC__)
+  __attribute__ ((aligned (8)))
+#endif
+;
 
 #ifndef DEBUG
 # define HEAPALLOC	do { int nonlocal_useheap = global_heapalloc(); do