aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2016-04-03 23:12:04 -0700
committerPaul Eggert2016-04-03 23:12:29 -0700
commitf501116ea896b20f195f5c841e8770d7fe0418b9 (patch)
treeacba39c6874e999c1b914838bf0bd2b60ec13e25
parentc4963f9a905bf15740aa7e3ebf85af917f17be15 (diff)
downloademacs-f501116ea896b20f195f5c841e8770d7fe0418b9.tar.gz
emacs-f501116ea896b20f195f5c841e8770d7fe0418b9.zip
Sync with gnulib
This incorporates: 2016-04-03 stdint: detect good enough pre-C++11 stdint.h in C++ mode 2016-04-01 stddef: support configuring with g++ * doc/misc/texinfo.tex, lib/stddef.in.h, m4/stdint.m4: Copy from gnulib.
-rw-r--r--doc/misc/texinfo.tex78
-rw-r--r--lib/stddef.in.h6
-rw-r--r--m4/stdint.m429
3 files changed, 105 insertions, 8 deletions
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index 9437a4d3e31..75017af5035 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -3,7 +3,7 @@
3% Load plain if necessary, i.e., if running under initex. 3% Load plain if necessary, i.e., if running under initex.
4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi 4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
5% 5%
6\def\texinfoversion{2016-03-22.15} 6\def\texinfoversion{2016-03-25.17}
7% 7%
8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -1645,6 +1645,32 @@ output) for that.)}
1645 /Subtype /Link /A << /S /URI /URI (#1) >> >>}% 1645 /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
1646 \endgroup} 1646 \endgroup}
1647 \def\endlink{\setcolor{\maincolor}\special{pdf:eann}} 1647 \def\endlink{\setcolor{\maincolor}\special{pdf:eann}}
1648 \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
1649 \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
1650 \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
1651 \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
1652 \def\maketoks{%
1653 \expandafter\poptoks\the\toksA|ENDTOKS|\relax
1654 \ifx\first0\adn0
1655 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
1656 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
1657 \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
1658 \else
1659 \ifnum0=\countA\else\makelink\fi
1660 \ifx\first.\let\next=\done\else
1661 \let\next=\maketoks
1662 \addtokens{\toksB}{\the\toksD}
1663 \ifx\first,\addtokens{\toksB}{\space}\fi
1664 \fi
1665 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
1666 \next}
1667 \def\makelink{\addtokens{\toksB}%
1668 {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
1669 \def\pdflink#1{%
1670 \special{pdf:bann << /Border [0 0 0]
1671 /Type /Annot /Subtype /Link /A << /S /GoTo /D (name#1) >> >>}%
1672 \setcolor{\linkcolor}#1\endlink}
1673 \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
1648% 1674%
1649 % 1675 %
1650 % @image support 1676 % @image support
@@ -2857,6 +2883,7 @@ end
2857 \setbox0 = \hbox{\ignorespaces #2}% look for second arg 2883 \setbox0 = \hbox{\ignorespaces #2}% look for second arg
2858 \ifdim\wd0 > 0pt 2884 \ifdim\wd0 > 0pt
2859 \ifpdf 2885 \ifpdf
2886 % For pdfTeX and LuaTeX
2860 \ifurefurlonlylink 2887 \ifurefurlonlylink
2861 % PDF plus option to not display url, show just arg 2888 % PDF plus option to not display url, show just arg
2862 \unhbox0 2889 \unhbox0
@@ -2866,7 +2893,19 @@ end
2866 \unhbox0\ (\urefcode{#1})% 2893 \unhbox0\ (\urefcode{#1})%
2867 \fi 2894 \fi
2868 \else 2895 \else
2869 \unhbox0\ (\urefcode{#1})% DVI, always show arg and url 2896 \ifx\XeTeXrevision\thisisundefined
2897 \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
2898 \else
2899 % For XeTeX
2900 \ifurefurlonlylink
2901 % PDF plus option to not display url, show just arg
2902 \unhbox0
2903 \else
2904 % PDF, normally display both arg and url for consistency,
2905 % visibility, if the pdf is eventually used to print, etc.
2906 \unhbox0\ (\urefcode{#1})%
2907 \fi
2908 \fi
2870 \fi 2909 \fi
2871 \else 2910 \else
2872 \urefcode{#1}% only url given, so show it 2911 \urefcode{#1}% only url given, so show it
@@ -2967,7 +3006,18 @@ end
2967 \endlink 3006 \endlink
2968 \endgroup} 3007 \endgroup}
2969\else 3008\else
2970 \let\email=\uref 3009 \ifx\XeTeXrevision\thisisundefined
3010 \let\email=\uref
3011 \else
3012 \def\email#1{\doemail#1,,\finish}
3013 \def\doemail#1,#2,#3\finish{\begingroup
3014 \unsepspaces
3015 \pdfurl{mailto:#1}%
3016 \setbox0 = \hbox{\ignorespaces #2}%
3017 \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
3018 \endlink
3019 \endgroup}
3020 \fi
2971\fi 3021\fi
2972 3022
2973% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), 3023% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
@@ -5479,7 +5529,14 @@ end
5479 % preserve coloured links across page boundaries. Otherwise the marks 5529 % preserve coloured links across page boundaries. Otherwise the marks
5480 % would get in the way of \lastbox in \insertindexentrybox. 5530 % would get in the way of \lastbox in \insertindexentrybox.
5481 \else 5531 \else
5482 \hskip\skip\thinshrinkable #1% 5532 \ifx\XeTeXrevision\thisisundefined
5533 \hskip\skip\thinshrinkable #1%
5534 \else
5535 \pdfgettoks#1.%
5536 \bgroup\let\domark\relax
5537 \hskip\skip\thinshrinkable\the\toksA
5538 \egroup
5539 \fi
5483 \fi 5540 \fi
5484 \fi 5541 \fi
5485 \egroup % end \boxA 5542 \egroup % end \boxA
@@ -5614,7 +5671,11 @@ end
5614 \ifpdf 5671 \ifpdf
5615 \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. 5672 \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
5616 \else 5673 \else
5617 #2 5674 \ifx\XeTeXrevision\thisisundefined
5675 #2
5676 \else
5677 \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
5678 \fi
5618 \fi 5679 \fi
5619 \par 5680 \par
5620}} 5681}}
@@ -11029,6 +11090,13 @@ directory should work if nowhere else does.}
11029 % whatever layout pdftex was dumped with. 11090 % whatever layout pdftex was dumped with.
11030 \pdfhorigin = 1 true in 11091 \pdfhorigin = 1 true in
11031 \pdfvorigin = 1 true in 11092 \pdfvorigin = 1 true in
11093 \else
11094 \ifx\XeTeXrevision\thisisundefined
11095 \else
11096 \pdfpageheight #7\relax
11097 \pdfpagewidth #8\relax
11098 % XeTeX does not have \pdfhorigin and \pdfvorigin.
11099 \fi
11032 \fi 11100 \fi
11033 % 11101 %
11034 \setleading{\textleading} 11102 \setleading{\textleading}
diff --git a/lib/stddef.in.h b/lib/stddef.in.h
index c6d2317ca2d..f4c4a1070d5 100644
--- a/lib/stddef.in.h
+++ b/lib/stddef.in.h
@@ -81,8 +81,10 @@
81# define wchar_t int 81# define wchar_t int
82#endif 82#endif
83 83
84/* Some platforms lack max_align_t. */ 84/* Some platforms lack max_align_t. The check for _GCC_MAX_ALIGN_T is
85#if !@HAVE_MAX_ALIGN_T@ 85 a hack in case the configure-time test was done with g++ even though
86 we are currently compiling with gcc. */
87#if ! (@HAVE_MAX_ALIGN_T@ || defined _GCC_MAX_ALIGN_T)
86/* On the x86, the maximum storage alignment of double, long, etc. is 4, 88/* On the x86, the maximum storage alignment of double, long, etc. is 4,
87 but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8, 89 but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
88 and the C11 standard allows this. Work around this problem by 90 and the C11 standard allows this. Work around this problem by
diff --git a/m4/stdint.m4 b/m4/stdint.m4
index 0f40ce803b7..0b4b9060dbb 100644
--- a/m4/stdint.m4
+++ b/m4/stdint.m4
@@ -1,4 +1,4 @@
1# stdint.m4 serial 43 1# stdint.m4 serial 44
2dnl Copyright (C) 2001-2016 Free Software Foundation, Inc. 2dnl Copyright (C) 2001-2016 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation 3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it, 4dnl gives unlimited permission to copy and/or distribute it,
@@ -70,6 +70,8 @@ AC_DEFUN_ONCE([gl_STDINT_H],
70 AC_COMPILE_IFELSE([ 70 AC_COMPILE_IFELSE([
71 AC_LANG_PROGRAM([[ 71 AC_LANG_PROGRAM([[
72#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ 72#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
73#define __STDC_CONSTANT_MACROS 1
74#define __STDC_LIMIT_MACROS 1
73#include <stdint.h> 75#include <stdint.h>
74/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */ 76/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */
75#if !(defined WCHAR_MIN && defined WCHAR_MAX) 77#if !(defined WCHAR_MIN && defined WCHAR_MAX)
@@ -218,6 +220,8 @@ struct s {
218 AC_RUN_IFELSE([ 220 AC_RUN_IFELSE([
219 AC_LANG_PROGRAM([[ 221 AC_LANG_PROGRAM([[
220#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ 222#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
223#define __STDC_CONSTANT_MACROS 1
224#define __STDC_LIMIT_MACROS 1
221#include <stdint.h> 225#include <stdint.h>
222] 226]
223gl_STDINT_INCLUDES 227gl_STDINT_INCLUDES
@@ -279,6 +283,29 @@ static const char *macro_values[] =
279 ]) 283 ])
280 fi 284 fi
281 if test "$gl_cv_header_working_stdint_h" = yes; then 285 if test "$gl_cv_header_working_stdint_h" = yes; then
286 dnl Now see whether the system <stdint.h> works without
287 dnl __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS defined.
288 AC_CACHE_CHECK([whether stdint.h predates C++11],
289 [gl_cv_header_stdint_predates_cxx11_h],
290 [gl_cv_header_stdint_predates_cxx11_h=yes
291 AC_COMPILE_IFELSE([
292 AC_LANG_PROGRAM([[
293#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
294#include <stdint.h>
295]
296gl_STDINT_INCLUDES
297[
298intmax_t im = INTMAX_MAX;
299int32_t i32 = INT32_C (0x7fffffff);
300 ]])],
301 [gl_cv_header_stdint_predates_cxx11_h=no])])
302
303 if test "$gl_cv_header_stdint_predates_cxx11_h" = yes; then
304 AC_DEFINE([__STDC_CONSTANT_MACROS], [1],
305 [Define to 1 if the system <stdint.h> predates C++11.])
306 AC_DEFINE([__STDC_LIMIT_MACROS], [1],
307 [Define to 1 if the system <stdint.h> predates C++11.])
308 fi
282 STDINT_H= 309 STDINT_H=
283 else 310 else
284 dnl Check for <sys/inttypes.h>, and for 311 dnl Check for <sys/inttypes.h>, and for