From 5ad538acf5cc34f26420780fa642bce02a88d0ee Mon Sep 17 00:00:00 2001
From: Paul Eggert
Date: Fri, 10 Nov 2017 23:52:29 -0800
Subject: [PATCH] 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.
---
admin/CPP-DEFINES | 1 -
configure.ac | 16 ----------------
src/emacs-module.c | 17 -----------------
3 files changed, 34 deletions(-)
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES
index 10b558d1ad..7a90b3dbe4 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 5579342c4e..3c72f168a3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5113,22 +5113,6 @@ AC_DEFUN
fi
AC_SUBST(LIBXMENU)
-AC_CACHE_CHECK([for struct alignment],
- [emacs_cv_struct_alignment],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([[#include
- 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 6bc91a7e06..b351515c3b 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);
}
--
2.13.6