aboutsummaryrefslogtreecommitdiffstats
path: root/m4
diff options
context:
space:
mode:
authorPaul Eggert2012-07-28 16:05:32 -0700
committerPaul Eggert2012-07-28 16:05:32 -0700
commite32a579975bc219bc24d403deeb1fa89187fc51e (patch)
tree957a729b7f4eb64980359a57828f02d29e6758e7 /m4
parent01bd1b0df605d644ae31e8f1f81d926a5d8c7099 (diff)
downloademacs-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 'm4')
-rw-r--r--m4/environ.m447
-rw-r--r--m4/gnulib-comp.m44
2 files changed, 51 insertions, 0 deletions
diff --git a/m4/environ.m4 b/m4/environ.m4
new file mode 100644
index 00000000000..8eb57c9d999
--- /dev/null
+++ b/m4/environ.m4
@@ -0,0 +1,47 @@
1# environ.m4 serial 6
2dnl Copyright (C) 2001-2004, 2006-2012 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7AC_DEFUN_ONCE([gl_ENVIRON],
8[
9 AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
10 dnl Persuade glibc <unistd.h> to declare environ.
11 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
12
13 AC_CHECK_HEADERS_ONCE([unistd.h])
14 gt_CHECK_VAR_DECL(
15 [#if HAVE_UNISTD_H
16 #include <unistd.h>
17 #endif
18 /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */
19 #include <stdlib.h>
20 ],
21 [environ])
22 if test $gt_cv_var_environ_declaration != yes; then
23 HAVE_DECL_ENVIRON=0
24 fi
25])
26
27# Check if a variable is properly declared.
28# gt_CHECK_VAR_DECL(includes,variable)
29AC_DEFUN([gt_CHECK_VAR_DECL],
30[
31 define([gt_cv_var], [gt_cv_var_]$2[_declaration])
32 AC_MSG_CHECKING([if $2 is properly declared])
33 AC_CACHE_VAL([gt_cv_var], [
34 AC_COMPILE_IFELSE(
35 [AC_LANG_PROGRAM(
36 [[$1
37 extern struct { int foo; } $2;]],
38 [[$2.foo = 1;]])],
39 [gt_cv_var=no],
40 [gt_cv_var=yes])])
41 AC_MSG_RESULT([$gt_cv_var])
42 if test $gt_cv_var = yes; then
43 AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1,
44 [Define if you have the declaration of $2.])
45 fi
46 undefine([gt_cv_var])
47])
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index 754086ec2e7..b0cd185a2b5 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -52,6 +52,7 @@ AC_DEFUN([gl_EARLY],
52 # Code from module dtoastr: 52 # Code from module dtoastr:
53 # Code from module dtotimespec: 53 # Code from module dtotimespec:
54 # Code from module dup2: 54 # Code from module dup2:
55 # Code from module environ:
55 # Code from module extensions: 56 # Code from module extensions:
56 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) 57 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
57 # Code from module filemode: 58 # Code from module filemode:
@@ -148,6 +149,8 @@ if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
148 gl_PREREQ_DUP2 149 gl_PREREQ_DUP2
149fi 150fi
150gl_UNISTD_MODULE_INDICATOR([dup2]) 151gl_UNISTD_MODULE_INDICATOR([dup2])
152gl_ENVIRON
153gl_UNISTD_MODULE_INDICATOR([environ])
151gl_FILEMODE 154gl_FILEMODE
152gl_GETLOADAVG 155gl_GETLOADAVG
153if test $HAVE_GETLOADAVG = 0; then 156if test $HAVE_GETLOADAVG = 0; then
@@ -598,6 +601,7 @@ AC_DEFUN([gl_FILE_LIST], [
598 m4/c-strtod.m4 601 m4/c-strtod.m4
599 m4/clock_time.m4 602 m4/clock_time.m4
600 m4/dup2.m4 603 m4/dup2.m4
604 m4/environ.m4
601 m4/extensions.m4 605 m4/extensions.m4
602 m4/filemode.m4 606 m4/filemode.m4
603 m4/getloadavg.m4 607 m4/getloadavg.m4