diff options
| author | Paul Eggert | 2012-07-28 16:05:32 -0700 |
|---|---|---|
| committer | Paul Eggert | 2012-07-28 16:05:32 -0700 |
| commit | e32a579975bc219bc24d403deeb1fa89187fc51e (patch) | |
| tree | 957a729b7f4eb64980359a57828f02d29e6758e7 /src/buffer.c | |
| parent | 01bd1b0df605d644ae31e8f1f81d926a5d8c7099 (diff) | |
| download | emacs-e32a579975bc219bc24d403deeb1fa89187fc51e.tar.gz emacs-e32a579975bc219bc24d403deeb1fa89187fc51e.zip | |
Use Gnulib stdalign and environ modules (Bug#9772, Bug#9960).
* .bzrignore: Add lib/stdalign.h.
* config.bat: Do not set NO_DECL_ALIGN; no longer needed.
Copy lib/stdalign.in.h to lib/stdalign.in-h as needed.
* configure.ac (HAVE_ATTRIBUTE_ALIGNED): Remove the code that
fiddles with this, as gnulib now does this for us.
* admin/merge-gnulib: Add environ, stdalign.
* m4/environ.m4: New file, from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* lib/stdalign.in.h, m4/stdalign.m4: New files, from gnulib.
* sed2v2.inp (HAVE_ATTRIBUTE_ALIGNED): Remove edit.
* sedlibmk.inp (STDALIGN_H, @GL_GENERATE_STDALIGN_H_TRUE@)
(GL_GENERATE_STDALIGN_H_FALSE): New edits.
* nt/config.nt (HAVE_ATTRIBUTE_ALIGNED): Remove.
* src/alloc.c (XMALLOC_BASE_ALIGNMENT, GC_POINTER_ALIGNMENT, pure_alloc):
Simplify by using alignof.
(pure_alloc) [! USE_LSB_TAG]: Don't over-align EMACS_INT values.
* src/lisp.h: Include <stdalign.h>.
(GCALIGNMENT): New macro and constant.
(DECL_ALIGN): Remove. All uses replaced by alignas (GCALIGNMENT).
(USE_LSB_TAG): ifdef on alignas, not on DECL_ALIGN.
(stdalign): New macro, if not already defined.
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 5e45882b892..70630de53cb 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -56,7 +56,7 @@ struct buffer *all_buffers; | |||
| 56 | Setting the default value also goes through the alist of buffers | 56 | Setting the default value also goes through the alist of buffers |
| 57 | and stores into each buffer that does not say it has a local value. */ | 57 | and stores into each buffer that does not say it has a local value. */ |
| 58 | 58 | ||
| 59 | DECL_ALIGN (struct buffer, buffer_defaults); | 59 | struct buffer alignas (GCALIGNMENT) buffer_defaults; |
| 60 | 60 | ||
| 61 | /* A Lisp_Object pointer to the above, used for staticpro */ | 61 | /* A Lisp_Object pointer to the above, used for staticpro */ |
| 62 | 62 | ||
| @@ -83,7 +83,7 @@ struct buffer buffer_local_flags; | |||
| 83 | /* This structure holds the names of symbols whose values may be | 83 | /* This structure holds the names of symbols whose values may be |
| 84 | buffer-local. It is indexed and accessed in the same way as the above. */ | 84 | buffer-local. It is indexed and accessed in the same way as the above. */ |
| 85 | 85 | ||
| 86 | DECL_ALIGN (struct buffer, buffer_local_symbols); | 86 | struct buffer alignas (GCALIGNMENT) buffer_local_symbols; |
| 87 | 87 | ||
| 88 | /* A Lisp_Object pointer to the above, used for staticpro */ | 88 | /* A Lisp_Object pointer to the above, used for staticpro */ |
| 89 | static Lisp_Object Vbuffer_local_symbols; | 89 | static Lisp_Object Vbuffer_local_symbols; |