diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2017-11-13 08:51:41 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2017-11-13 10:16:52 -0800 |
commit | d14956099d0daf0faa132b20e0fb0d46cae001be (patch) | |
tree | 6e495f1c4f9ea10377941679b0fb2f26c8283246 | |
parent | b1573a97e17b518723ab3f906eb6d521caed196d (diff) | |
download | emacs-d14956099d0daf0faa132b20e0fb0d46cae001be.tar.gz |
Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
* configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove. No longer
needed, since we no longer rely on __attribute__ ((aligned (8))).
All uses removed.
* src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
(lisp_to_value): Simplify now that we no longer need to worry
whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
-rw-r--r-- | admin/CPP-DEFINES | 1 | ||||
-rw-r--r-- | configure.ac | 16 | ||||
-rw-r--r-- | src/emacs-module.c | 17 |
3 files changed, 0 insertions, 34 deletions
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES index 10b558d1ada..7a90b3dbe4f 100644 --- a/admin/CPP-DEFINES +++ b/admin/CPP-DEFINES @@ -103,7 +103,6 @@ HAVE_ALARM HAVE_ALLOCA HAVE_ALLOCA_H HAVE_ALSA -HAVE_ATTRIBUTE_ALIGNED HAVE_BDFFONT HAVE_BOXES HAVE_C99_STRTOLD diff --git a/configure.ac b/configure.ac index 5579342c4e5..3c72f168a3d 100644 --- a/configure.ac +++ b/configure.ac @@ -5113,22 +5113,6 @@ else fi AC_SUBST(LIBXMENU) -AC_CACHE_CHECK([for struct alignment], - [emacs_cv_struct_alignment], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[#include <stddef.h> - struct __attribute__ ((aligned (8))) s { char c; }; - struct t { char c; struct s s; }; - char verify[offsetof (struct t, s) == 8 ? 1 : -1]; - ]])], - [emacs_cv_struct_alignment=yes], - [emacs_cv_struct_alignment=no])]) -if test "$emacs_cv_struct_alignment" = yes; then - AC_DEFINE([HAVE_STRUCT_ATTRIBUTE_ALIGNED], 1, - [Define to 1 if 'struct __attribute__ ((aligned (N)))' aligns the - structure to an N-byte boundary.]) -fi - if test "${GNU_MALLOC}" = "yes" ; then AC_DEFINE(GNU_MALLOC, 1, [Define to 1 if you want to use the GNU memory allocator.]) diff --git a/src/emacs-module.c b/src/emacs-module.c index 6bc91a7e06a..b351515c3bd 100644 --- a/src/emacs-module.c +++ b/src/emacs-module.c @@ -998,10 +998,6 @@ lisp_to_value_bits (Lisp_Object o) return (emacs_value) p; } -#ifndef HAVE_STRUCT_ATTRIBUTE_ALIGNED -enum { HAVE_STRUCT_ATTRIBUTE_ALIGNED = 0 }; -#endif - /* Convert O to an emacs_value. Allocate storage if needed; this can signal if memory is exhausted. Must be an injective function. */ static emacs_value @@ -1029,19 +1025,6 @@ lisp_to_value (emacs_env *env, Lisp_Object o) /* Package the incompressible object pointer inside a pair that is compressible. */ Lisp_Object pair = Fcons (o, ltv_mark); - - if (! HAVE_STRUCT_ATTRIBUTE_ALIGNED) - { - /* Keep calling Fcons until it returns a compressible pair. - This shouldn't take long. */ - while ((intptr_t) XCONS (pair) & (GCALIGNMENT - 1)) - pair = Fcons (o, pair); - - /* Plant the mark. The garbage collector will eventually - reclaim any just-allocated incompressible pairs. */ - XSETCDR (pair, ltv_mark); - } - v = (emacs_value) ((intptr_t) XCONS (pair) + Lisp_Cons); } |