emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-26 d149560 3/4: Simplify by removing HAVE_STRUCT_ATT


From: Paul Eggert
Subject: [Emacs-diffs] emacs-26 d149560 3/4: Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
Date: Mon, 13 Nov 2017 13:17:00 -0500 (EST)

branch: emacs-26
commit d14956099d0daf0faa132b20e0fb0d46cae001be
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    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 10b558d..7a90b3d 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 5579342..3c72f16 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 6bc91a7..b351515 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);
     }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]