[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-26 7910889 4/4: Port to IBM xlc 12.01
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] emacs-26 7910889 4/4: Port to IBM xlc 12.01 |
Date: |
Mon, 13 Nov 2017 13:17:00 -0500 (EST) |
branch: emacs-26
commit 79108894dbcd642121466bb6af6c98c6a56e9233
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Port to IBM xlc 12.01
Work around a compiler bug by using a separate enum for alignment.
* src/alloc.c (roundup_size): Declare in a separate enum.
---
src/alloc.c | 23 ++++++++++-------------
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/src/alloc.c b/src/alloc.c
index 3b87195..88e24cf 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -2922,19 +2922,16 @@ set_next_vector (struct Lisp_Vector *v, struct
Lisp_Vector *p)
#define VECTOR_BLOCK_SIZE 4096
-enum
- {
- /* Alignment of struct Lisp_Vector objects. Because pseudovectors
- can contain any C type, align at least as strictly as
- max_align_t. On x86 and x86-64 this can waste up to 8 bytes
- for typical vectors, since alignof (max_align_t) is 16 but
- typical vectors need only an alignment of 8. However, it is
- not worth the hassle to avoid wasting those bytes. */
- vector_alignment = COMMON_MULTIPLE (alignof (max_align_t), GCALIGNMENT),
-
- /* Vector size requests are a multiple of this. */
- roundup_size = COMMON_MULTIPLE (vector_alignment, word_size)
- };
+/* Alignment of struct Lisp_Vector objects. Because pseudovectors
+ can contain any C type, align at least as strictly as
+ max_align_t. On x86 and x86-64 this can waste up to 8 bytes
+ for typical vectors, since alignof (max_align_t) is 16 but
+ typical vectors need only an alignment of 8. However, it is
+ not worth the hassle to avoid wasting those bytes. */
+enum {vector_alignment = COMMON_MULTIPLE (alignof (max_align_t), GCALIGNMENT)};
+
+/* Vector size requests are a multiple of this. */
+enum { roundup_size = COMMON_MULTIPLE (vector_alignment, word_size) };
/* Verify assumptions described above. */
verify (VECTOR_BLOCK_SIZE % roundup_size == 0);