diff options
| author | Paul Eggert | 2017-11-02 13:06:38 -0700 |
|---|---|---|
| committer | Paul Eggert | 2017-11-02 13:21:33 -0700 |
| commit | 6b08ad5263bc063c79666ffe2bd5ed9ab77a00a0 (patch) | |
| tree | c31fb8bdc9d639cc96982aa4718d74f4cc0e0397 /src/buffer.c | |
| parent | a9f8706fa8fba5289e910fd55841b0952410d558 (diff) | |
| download | emacs-6b08ad5263bc063c79666ffe2bd5ed9ab77a00a0.tar.gz emacs-6b08ad5263bc063c79666ffe2bd5ed9ab77a00a0.zip | |
Fix alignment portability problems
Do not assume that the natural alignment of Lisp objects is a
multiple of GCALIGNMENT. This improves on the portability of the
recent fix for Bug#29040.
* lib-src/make-docfile.c (close_emacs_globals):
* src/buffer.c (buffer_defaults, buffer_local_symbols):
* src/lisp.h (DEFUN):
* src/thread.c (main_thread):
Use GCALIGNED, not alignas (GCALIGNMENT).
* src/alloc.c (COMMON_MULTIPLE):
Move back here from lisp.h, since it is no longer used elsewhere.
* src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
worry about MSVC. Omit no-longer-needed consistency check.
* src/thread.c (THREAD_ALIGNMENT): Remove.
Diffstat (limited to 'src/buffer.c')
| -rw-r--r-- | src/buffer.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/buffer.c b/src/buffer.c index 9635733fcff..15735a298ad 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -61,7 +61,7 @@ struct buffer *all_buffers; | |||
| 61 | Setting the default value also goes through the alist of buffers | 61 | Setting the default value also goes through the alist of buffers |
| 62 | and stores into each buffer that does not say it has a local value. */ | 62 | and stores into each buffer that does not say it has a local value. */ |
| 63 | 63 | ||
| 64 | struct buffer alignas (GCALIGNMENT) buffer_defaults; | 64 | struct buffer GCALIGNED buffer_defaults; |
| 65 | 65 | ||
| 66 | /* This structure marks which slots in a buffer have corresponding | 66 | /* This structure marks which slots in a buffer have corresponding |
| 67 | default values in buffer_defaults. | 67 | default values in buffer_defaults. |
| @@ -84,7 +84,7 @@ struct buffer buffer_local_flags; | |||
| 84 | /* This structure holds the names of symbols whose values may be | 84 | /* This structure holds the names of symbols whose values may be |
| 85 | buffer-local. It is indexed and accessed in the same way as the above. */ | 85 | buffer-local. It is indexed and accessed in the same way as the above. */ |
| 86 | 86 | ||
| 87 | struct buffer alignas (GCALIGNMENT) buffer_local_symbols; | 87 | struct buffer GCALIGNED buffer_local_symbols; |
| 88 | 88 | ||
| 89 | /* Return the symbol of the per-buffer variable at offset OFFSET in | 89 | /* Return the symbol of the per-buffer variable at offset OFFSET in |
| 90 | the buffer structure. */ | 90 | the buffer structure. */ |