MPFR v4.0.2 master v4.0.2
authorJason Self <j@jxself.org>
Sun, 10 Feb 2019 01:13:12 +0000 (17:13 -0800)
committerJason Self <j@jxself.org>
Sun, 10 Feb 2019 01:13:12 +0000 (17:13 -0800)
519 files changed:
AUTHORS
BUGS
COPYING
COPYING.LESSER
ChangeLog
INSTALL
Makefile.am
Makefile.in
NEWS
README
TODO
VERSION
acinclude.m4
aclocal.m4
ar-lib
compile
config.guess
config.sub
configure
configure.ac
depcomp
doc/FAQ.html
doc/Makefile.am
doc/Makefile.in
doc/README.dev
doc/check-typography
doc/fdl.texi
doc/mpfr.info
doc/mpfr.texi
doc/texinfo.tex
examples/can_round.c
examples/divworst.c
examples/rndo-add.c
examples/sample.c
examples/version.c
install-sh
ltmain.sh
m4/libtool.m4
missing
mpfr.pc.in
src/Makefile.am
src/Makefile.in
src/abort_prec_max.c
src/acos.c
src/acosh.c
src/add.c
src/add1.c
src/add1sp.c
src/add_d.c
src/add_ui.c
src/agm.c
src/ai.c
src/amd/amdfam10/mparam.h
src/amd/athlon/mparam.h
src/amd/k8/mparam.h
src/arm/mparam.h
src/asin.c
src/asinh.c
src/atan.c
src/atan2.c
src/atanh.c
src/bernoulli.c
src/beta.c
src/buildopt.c
src/cache.c
src/cbrt.c
src/check.c
src/clear.c
src/clears.c
src/cmp.c
src/cmp2.c
src/cmp_abs.c
src/cmp_d.c
src/cmp_ld.c
src/cmp_si.c
src/cmp_ui.c
src/comparisons.c
src/const_catalan.c
src/const_euler.c
src/const_log2.c
src/const_pi.c
src/constant.c
src/copysign.c
src/cos.c
src/cosh.c
src/cot.c
src/coth.c
src/csc.c
src/csch.c
src/d_div.c
src/d_sub.c
src/digamma.c
src/dim.c
src/div.c
src/div_2exp.c
src/div_2si.c
src/div_2ui.c
src/div_d.c
src/div_ui.c
src/dump.c
src/eint.c
src/eq.c
src/erandom.c
src/erf.c
src/erfc.c
src/exceptions.c
src/exp.c
src/exp10.c
src/exp2.c
src/exp3.c
src/exp_2.c
src/expm1.c
src/extract.c
src/factorial.c
src/fits_intmax.c
src/fits_s.h
src/fits_sint.c
src/fits_slong.c
src/fits_sshort.c
src/fits_u.h
src/fits_uint.c
src/fits_uintmax.c
src/fits_ulong.c
src/fits_ushort.c
src/fma.c
src/fmma.c
src/fms.c
src/fpif.c
src/frac.c
src/free_cache.c
src/frexp.c
src/gamma.c
src/gamma_inc.c
src/gammaonethird.c
src/gen_inverse.h
src/generic/coverage/mparam.h
src/generic/mparam.h
src/get_d.c
src/get_d64.c
src/get_exp.c
src/get_f.c
src/get_float128.c
src/get_flt.c
src/get_ld.c
src/get_patches.c
src/get_q.c
src/get_si.c
src/get_sj.c
src/get_str.c
src/get_ui.c
src/get_uj.c
src/get_z.c
src/get_z_exp.c
src/gmp_op.c
src/grandom.c
src/hppa/mparam.h
src/hypot.c
src/ia64/mparam.h
src/ieee_floats.h
src/init.c
src/init2.c
src/inits.c
src/inits2.c
src/inp_str.c
src/int_ceil_log2.c
src/invert_limb.h
src/invsqrt_limb.h
src/isinf.c
src/isinteger.c
src/isnan.c
src/isnum.c
src/isqrt.c
src/isregular.c
src/iszero.c
src/jn.c
src/jyn_asympt.c
src/li2.c
src/lngamma.c
src/log.c
src/log10.c
src/log1p.c
src/log2.c
src/log_ui.c
src/logging.c
src/min_prec.c
src/minmax.c
src/mips/mparam.h
src/modf.c
src/mp_clz_tab.c
src/mparam_h.in
src/mpf2mpfr.h
src/mpfr-cvers.h
src/mpfr-gmp.c
src/mpfr-gmp.h
src/mpfr-impl.h
src/mpfr-intmax.h
src/mpfr-longlong.h
src/mpfr-mini-gmp.c
src/mpfr-mini-gmp.h
src/mpfr-sassert.h
src/mpfr-thread.h
src/mpfr.h
src/mpn_exp.c
src/mul.c
src/mul_2exp.c
src/mul_2si.c
src/mul_2ui.c
src/mul_d.c
src/mul_ui.c
src/mulders.c
src/neg.c
src/next.c
src/nrandom.c
src/odd_p.c
src/out_str.c
src/pool.c
src/pow.c
src/pow_si.c
src/pow_ui.c
src/pow_z.c
src/powerof2.c
src/powerpc32/mparam.h
src/powerpc64/mparam.h
src/print_raw.c
src/print_rnd_mode.c
src/printf.c
src/random_deviate.c
src/random_deviate.h
src/rec_sqrt.c
src/reldiff.c
src/rem1.c
src/rint.c
src/rndna.c
src/root.c
src/round_near_x.c
src/round_p.c
src/round_prec.c
src/round_raw_generic.c
src/scale2.c
src/sec.c
src/sech.c
src/set.c
src/set_d.c
src/set_d64.c
src/set_dfl_prec.c
src/set_exp.c
src/set_f.c
src/set_float128.c
src/set_flt.c
src/set_inf.c
src/set_ld.c
src/set_nan.c
src/set_prc_raw.c
src/set_prec.c
src/set_q.c
src/set_rnd.c
src/set_si.c
src/set_si_2exp.c
src/set_sj.c
src/set_str.c
src/set_str_raw.c
src/set_ui.c
src/set_ui_2exp.c
src/set_uj.c
src/set_z.c
src/set_z_exp.c
src/set_zero.c
src/setmax.c
src/setmin.c
src/setsign.c
src/sgn.c
src/si_op.c
src/signbit.c
src/sin.c
src/sin_cos.c
src/sinh.c
src/sinh_cosh.c
src/sparc64/mparam.h
src/sqr.c
src/sqrt.c
src/sqrt_ui.c
src/stack_interface.c
src/strtofr.c
src/sub.c
src/sub1.c
src/sub1sp.c
src/sub_d.c
src/sub_ui.c
src/subnormal.c
src/sum.c
src/swap.c
src/tan.c
src/tanh.c
src/ubf.c
src/uceil_exp2.c
src/uceil_log2.c
src/ufloor_log2.c
src/ui_div.c
src/ui_pow.c
src/ui_pow_ui.c
src/ui_sub.c
src/urandom.c
src/urandomb.c
src/vasprintf.c
src/version.c
src/volatile.c
src/x86/core2/mparam.h
src/x86/mparam.h
src/x86_64/core2/mparam.h
src/x86_64/pentium4/mparam.h
src/yn.c
src/zeta.c
src/zeta_ui.c
test-driver
tests/Makefile.am
tests/Makefile.in
tests/cmp_str.c
tests/memory.c
tests/mpf_compat.c
tests/mpf_compat.h
tests/mpfr-test.h
tests/mpfr_compat.c
tests/random2.c
tests/reuse.c
tests/rnd_mode.c
tests/tabort_defalloc1.c
tests/tabort_defalloc2.c
tests/tabort_prec_max.c
tests/tabs.c
tests/tacos.c
tests/tacosh.c
tests/tadd.c
tests/tadd1sp.c
tests/tadd_d.c
tests/tadd_ui.c
tests/tagm.c
tests/tai.c
tests/talloc-cache.c
tests/talloc.c
tests/tasin.c
tests/tasinh.c
tests/tassert.c
tests/tatan.c
tests/tatanh.c
tests/taway.c
tests/tbeta.c
tests/tbuildopt.c
tests/tcan_round.c
tests/tcbrt.c
tests/tcheck.c
tests/tcmp.c
tests/tcmp2.c
tests/tcmp_d.c
tests/tcmp_ld.c
tests/tcmp_ui.c
tests/tcmpabs.c
tests/tcomparisons.c
tests/tconst_catalan.c
tests/tconst_euler.c
tests/tconst_log2.c
tests/tconst_pi.c
tests/tcopysign.c
tests/tcos.c
tests/tcosh.c
tests/tcot.c
tests/tcoth.c
tests/tcsc.c
tests/tcsch.c
tests/td_div.c
tests/td_sub.c
tests/tdigamma.c
tests/tdim.c
tests/tdiv.c
tests/tdiv_d.c
tests/tdiv_ui.c
tests/teint.c
tests/teq.c
tests/terandom.c
tests/terandom_chisq.c
tests/terf.c
tests/tests.c
tests/texceptions.c
tests/texp.c
tests/texp10.c
tests/texp2.c
tests/texpm1.c
tests/tfactorial.c
tests/tfits.c
tests/tfma.c
tests/tfmma.c
tests/tfmod.c
tests/tfms.c
tests/tfpif.c
tests/tfprintf.c
tests/tfrac.c
tests/tfrexp.c
tests/tgamma.c
tests/tgamma_inc.c
tests/tgeneric.c
tests/tgeneric_ui.c
tests/tget_d.c
tests/tget_d_2exp.c
tests/tget_f.c
tests/tget_flt.c
tests/tget_ld_2exp.c
tests/tget_q.c
tests/tget_set_d64.c
tests/tget_sj.c
tests/tget_str.c
tests/tget_z.c
tests/tgmpop.c
tests/tgrandom.c
tests/thyperbolic.c
tests/thypot.c
tests/tinits.c
tests/tinp_str.c
tests/tinternals.c
tests/tisnan.c
tests/tisqrt.c
tests/tj0.c
tests/tj1.c
tests/tjn.c
tests/tl2b.c
tests/tlgamma.c
tests/tli2.c
tests/tlngamma.c
tests/tlog.c
tests/tlog10.c
tests/tlog1p.c
tests/tlog2.c
tests/tlog_ui.c
tests/tmin_prec.c
tests/tminmax.c
tests/tmodf.c
tests/tmul.c
tests/tmul_2exp.c
tests/tmul_d.c
tests/tmul_ui.c
tests/tnext.c
tests/tnrandom.c
tests/tnrandom_chisq.c
tests/tout_str.c
tests/toutimpl.c
tests/tpow.c
tests/tpow3.c
tests/tpow_all.c
tests/tpow_z.c
tests/tprintf.c
tests/trandom.c
tests/trandom_deviate.c
tests/trec_sqrt.c
tests/tremquo.c
tests/trint.c
tests/trndna.c
tests/troot.c
tests/trootn_ui.c
tests/tround_prec.c
tests/tsec.c
tests/tsech.c
tests/tset.c
tests/tset_d.c
tests/tset_exp.c
tests/tset_f.c
tests/tset_float128.c
tests/tset_ld.c
tests/tset_q.c
tests/tset_si.c
tests/tset_sj.c
tests/tset_str.c
tests/tset_z.c
tests/tset_z_exp.c
tests/tsgn.c
tests/tsi_op.c
tests/tsin.c
tests/tsin_cos.c
tests/tsinh.c
tests/tsinh_cosh.c
tests/tsprintf.c
tests/tsqr.c
tests/tsqrt.c
tests/tsqrt_ui.c
tests/tstckintc.c
tests/tstdint.c
tests/tstrtofr.c
tests/tsub.c
tests/tsub1sp.c
tests/tsub_d.c
tests/tsub_ui.c
tests/tsubnormal.c
tests/tsum.c
tests/tswap.c
tests/ttan.c
tests/ttanh.c
tests/ttrunc.c
tests/tui_div.c
tests/tui_pow.c
tests/tui_sub.c
tests/turandom.c
tests/tvalist.c
tests/tversion.c
tests/ty0.c
tests/ty1.c
tests/tyn.c
tests/tzeta.c
tests/tzeta_ui.c
tools/bench/Makefile.am
tools/bench/Makefile.in
tools/bench/benchtime.h
tools/bench/mpfrbench.c
tools/ck-clz_tab
tools/ck-copyright-notice
tools/ck-news
tools/ck-version-info
tools/get_patches.sh
tune/Makefile.am
tune/Makefile.in
tune/bidimensional_sample.c
tune/speed.c
tune/tuneup.c

diff --git a/AUTHORS b/AUTHORS
index 57fc9554d75243f5c1d80f21b50b76e6fa3f92f3..519853701995ebac95cd4b44241d3a1efab3df01 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -18,9 +18,9 @@ Damien Stehlé           Function mpfr_get_ld_2exp
 Philippe Théveny        Main author
 Sylvain Chevillard      Original version of ai.c
 Charles Karney          mpfr_nrandom and mpfr_erandom functions
-Fredrik Johannsson      New version of mpfr_const_euler
+Fredrik Johansson       New version of mpfr_const_euler
 Mickaël Gastineau       MPFRbench program
 
 The main authors are included in the MPFR mailing-list <mpfr@inria.fr>.
 This is the preferred way to contact us. For further information, please
-look at the MPFR web page <http://www.mpfr.org/>.
+look at the MPFR web page <https://www.mpfr.org/>.
diff --git a/BUGS b/BUGS
index 10358870c3bdd16296c913c9e0b9cf733d557609..a30dcb968479e86846c76a08d933397cf93a6da6 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,4 +1,4 @@
-Copyright 1999, 2001-2018 Free Software Foundation, Inc.
+Copyright 1999, 2001-2019 Free Software Foundation, Inc.
 Contributed by the AriC and Caramba projects, INRIA.
 
 This file is part of the GNU MPFR Library.
@@ -15,7 +15,7 @@ License for more details.
 
 You should have received a copy of the GNU Lesser General Public License
 along with the GNU MPFR Library; see the file COPYING.LESSER.  If not, see
-http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
+https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 ##############################################################################
diff --git a/COPYING b/COPYING
index 94a9ed024d3859793618152ea559a168bbcbb5e2..f288702d2fa16d3cdf0035b15a9fcbc552cd88e7 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -1,7 +1,7 @@
                     GNU GENERAL PUBLIC LICENSE
                        Version 3, 29 June 2007
 
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
     GNU General Public License for more details.
 
     You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 Also add information on how to contact you by electronic and paper mail.
 
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
   You should also get your employer (if you work as a programmer) or school,
 if any, to sign a "copyright disclaimer" for the program, if necessary.
 For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
+<https://www.gnu.org/licenses/>.
 
   The GNU General Public License does not permit incorporating your program
 into proprietary programs.  If your program is a subroutine library, you
 may consider it more useful to permit linking proprietary applications with
 the library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+<https://www.gnu.org/licenses/why-not-lgpl.html>.
index fc8a5de7edf437cdc98a216370faf7c757279bcb..0a041280bd00a9d068f503b8ee7ce35214bd24a1 100644 (file)
@@ -1,7 +1,7 @@
-                  GNU LESSER GENERAL PUBLIC LICENSE
+                   GNU LESSER GENERAL PUBLIC LICENSE
                        Version 3, 29 June 2007
 
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -10,7 +10,7 @@
 the terms and conditions of version 3 of the GNU General Public
 License, supplemented by the additional permissions listed below.
 
-  0. Additional Definitions. 
+  0. Additional Definitions.
 
   As used herein, "this License" refers to version 3 of the GNU Lesser
 General Public License, and the "GNU GPL" refers to version 3 of the GNU
@@ -111,7 +111,7 @@ the following:
        a copy of the Library already present on the user's computer
        system, and (b) will operate properly with a modified version
        of the Library that is interface-compatible with the Linked
-       Version. 
+       Version.
 
    e) Provide Installation Information, but only if you would otherwise
    be required to provide such information under section 6 of the
index 732aea8c99479e1a744de32f93364ebfe5a8fbfb..9e46b94182ba0f13850dc8d569ab83c8f1719895 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 ------------------------------------------------------------------------
+r13433 | vlefevre | 2019-01-31 20:33:50 +0000 (Thu, 31 Jan 2019) | 2 lines
+Changed paths:
+   M /branches/4.0/NEWS
+
+[NEWS] Put the "Option -pedantic is now always removed [...]" line
+at the right place (4.0.2, not 4.0.1: r13422 was wrong).
+------------------------------------------------------------------------
+r13432 | vlefevre | 2019-01-31 20:29:48 +0000 (Thu, 31 Jan 2019) | 1 line
+Changed paths:
+   M /branches/4.0/VERSION
+   M /branches/4.0/configure.ac
+   M /branches/4.0/doc/mpfr.texi
+   M /branches/4.0/src/mpfr.h
+   M /branches/4.0/src/version.c
+
+Updated version to 4.0.2.
+------------------------------------------------------------------------
+r13431 | vlefevre | 2019-01-31 15:59:16 +0000 (Thu, 31 Jan 2019) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/Makefile.am
+
+[src/Makefile.am] In check-exported-symbols, replaced grep by $(GREP)
+as usual and like in check-gmp-symbols.
+(merged changeset 13429 from the trunk)
+------------------------------------------------------------------------
+r13424 | vlefevre | 2019-01-30 12:45:13 +0000 (Wed, 30 Jan 2019) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/configure.ac
+
+[configure.ac] Updated comment about default options in CFLAGS for GCC.
+(merged changeset r13423 from the trunk)
+------------------------------------------------------------------------
+r13422 | vlefevre | 2019-01-30 09:26:44 +0000 (Wed, 30 Jan 2019) | 8 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/INSTALL
+   M /branches/4.0/NEWS
+   M /branches/4.0/configure.ac
+
+Update about CC / CFLAGS settings from GMP (__GMP_CC / __GMP_CFLAGS).
+  * configure.ac: remove -pedantic unconditionally; since r7044, it was
+    removed only when logging was enabled, as at that time only logging
+    was using C extensions.
+  * NEWS: added a line about this change.
+  * INSTALL: updated the note about CC / CFLAGS, removing the obsolete
+    reference to GMP 4.3.0 at the same time.
+(merged changeset r13421 from the trunk)
+------------------------------------------------------------------------
+r13418 | vlefevre | 2019-01-27 23:08:51 +0000 (Sun, 27 Jan 2019) | 1 line
+Changed paths:
+   M /branches/4.0/ChangeLog
+
+ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".
+------------------------------------------------------------------------
+r13417 | vlefevre | 2019-01-27 23:01:21 +0000 (Sun, 27 Jan 2019) | 1 line
+Changed paths:
+   M /branches/4.0/VERSION
+   M /branches/4.0/configure.ac
+   M /branches/4.0/doc/mpfr.texi
+   M /branches/4.0/src/mpfr.h
+   M /branches/4.0/src/version.c
+
+Updated version to 4.0.2-rc2.
+------------------------------------------------------------------------
+r13416 | vlefevre | 2019-01-27 18:30:16 +0000 (Sun, 27 Jan 2019) | 38 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/NEWS
+   M /branches/4.0/acinclude.m4
+   M /branches/4.0/configure.ac
+   M /branches/4.0/src/mpfr-impl.h
+   M /branches/4.0/src/mpfr-thread.h
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tversion.c
+
+Shared cache: cleanup and various improvements / corrections.
+  * acinclude.m4:
+      - test $enable_shared_cache instead of $mpfr_want_shared_cache;
+      - check ISO C11 thread support and/or POSIX thread support
+        only when necessary;
+      - when checking support for POSIX threads (pthread), also check
+        that pthread_rwlock_t is supported, as it is needed by MPFR
+        and conditionally defined in glibc's bits/pthreadtypes.h (via
+        <pthread.h>);
+      - with POSIX threads, also set CC="$PTHREAD_CC" as documented by
+        ax_pthread (autoconf-archive). This is not guaranteed to work,
+        but according to the ax_pthread.m4 source, in the cases where
+        "$PTHREAD_CC" != "$CC", not setting it will probably not work
+        either;
+      - handle --enable-shared-cache early in MPFR_CONFIGS, because
+        the use of POSIX threads (pthread) may need to change CC,
+        CFLAGS, and LIBS (thus affecting other tests);
+      - removed the now useless MPFR_CHECK_SHARED_CACHE function.
+  * configure.ac: no longer set the mpfr_want_shared_cache variable,
+    as enable_shared_cache (now used) already has the same usage.
+  * acinclude.m4, configure.ac: moved the compatibility test of the
+    configure options even earlier, from acinclude.m4 to configure.ac,
+    just after the code that defines them. Also added an associated
+    AC_MSG_CHECKING message for better clarity.
+  * src/mpfr-impl.h: added a comment about the cache-related types,
+    which depend on the locking methods.
+  * src/mpfr-thread.h: fixed the lock macros:
+      - in case of failure, one must abort, otherwise this would
+        generally be undefined behavior;
+      - added missing "do {} while (0)" (currently not mandatory).
+  * tests/tversion.c: update concerning the shared cache, to be
+    consistent with the other mpfr_buildopt_*_p features:
+      - check that mpfr_buildopt_sharedcache_p() and
+        MPFR_WANT_SHARED_CACHE match;
+      - for the output of the value, test mpfr_buildopt_sharedcache_p()
+        instead of the macro.
+  * NEWS: update.
+(merged changesets r13032,13390-13396,13410,13412 from the trunk)
+------------------------------------------------------------------------
+r13409 | vlefevre | 2019-01-25 02:00:06 +0000 (Fri, 25 Jan 2019) | 6 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/acinclude.m4
+   M /branches/4.0/configure.ac
+   M /branches/4.0/tests
+   M /branches/4.0/tests/trint.c
+
+[configure.ac] By default (i.e. if CFLAGS is not already set), if
+the compiler is GCC not in C++ mode, add the -Wc++-compat warning
+since we expect the code to compile with a C++ compiler.
+[acinclude.m4,tests/trint.c] Fixed C++ compatibility issues detected
+thanks to this option used with -Werror.
+(merged changesets r13406-13408 from the trunk)
+------------------------------------------------------------------------
+r13402 | vlefevre | 2019-01-13 15:39:13 +0000 (Sun, 13 Jan 2019) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tcheck.c
+
+[tests/tcheck.c] Corrected meaningless error message.
+(merged changeset r13401 from the trunk)
+------------------------------------------------------------------------
+r13400 | vlefevre | 2019-01-13 01:15:11 +0000 (Sun, 13 Jan 2019) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tversion.c
+
+[tests/tversion.c] Decimal formats: output the encoding type (DPD/BID).
+(merged changeset r12776 from the trunk, and as a consequence,
+completed the merge of r13003)
+------------------------------------------------------------------------
+r13399 | vlefevre | 2019-01-13 00:17:11 +0000 (Sun, 13 Jan 2019) | 1 line
+Changed paths:
+   M /branches/4.0/VERSION
+   M /branches/4.0/configure.ac
+   M /branches/4.0/doc/mpfr.texi
+   M /branches/4.0/src/mpfr.h
+   M /branches/4.0/src/version.c
+
+Updated version to 4.0.2-dev.
+------------------------------------------------------------------------
+r13398 | vlefevre | 2019-01-13 00:15:31 +0000 (Sun, 13 Jan 2019) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/doc/mpfr.texi
+
+[doc/mpfr.texi] Minor correction for non-tex versions.
+Thanks to Trevor Spiteri for the bug report.
+(merged changeset r13397 from the trunk)
+------------------------------------------------------------------------
+r13387 | vlefevre | 2019-01-08 13:43:12 +0000 (Tue, 08 Jan 2019) | 1 line
+Changed paths:
+   M /branches/4.0/ChangeLog
+
+ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".
+------------------------------------------------------------------------
+r13386 | vlefevre | 2019-01-08 13:30:18 +0000 (Tue, 08 Jan 2019) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tstrtofr.c
+
+[tests/tstrtofr.c] Updated comment about GCC bug 86554: now fixed in
+the GCC trunk.
+(merged changeset r13385 from the trunk)
+------------------------------------------------------------------------
+r13384 | vlefevre | 2019-01-07 16:11:57 +0000 (Mon, 07 Jan 2019) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/Makefile.am
+
+[tests/Makefile.am] Replaced "env -u DISPLAY" by "env DISPLAY=''" as
+the -u option is not supported by NetBSD.
+(merged changeset r13383 from the trunk)
+------------------------------------------------------------------------
+r13382 | vlefevre | 2019-01-07 15:22:38 +0000 (Mon, 07 Jan 2019) | 1 line
+Changed paths:
+   M /branches/4.0/ChangeLog
+
+ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".
+------------------------------------------------------------------------
+r13381 | vlefevre | 2019-01-07 15:17:51 +0000 (Mon, 07 Jan 2019) | 4 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/COPYING
+   M /branches/4.0/COPYING.LESSER
+
+Updated files:
+  * COPYING from https://www.gnu.org/licenses/gpl-3.0.txt
+  * COPYING.LESSER from https://www.gnu.org/licenses/lgpl-3.0.txt
+These are URL updates and cosmetic changes.
+------------------------------------------------------------------------
+r13379 | vlefevre | 2019-01-07 14:32:20 +0000 (Mon, 07 Jan 2019) | 4 lines
+Changed paths:
+   M /branches/4.0/ChangeLog
+
+ChangeLog update with "LC_ALL=en_US.UTF8 TZ=UTC0 svn log -rHEAD:0 -v".
+Note: For r5400, this changes an incorrect update done via r13373 back
+to the old log message, as the URL in this log message here describes
+a change in one of the files.
+------------------------------------------------------------------------
+r13377 | vlefevre | 2019-01-07 14:06:05 +0000 (Mon, 07 Jan 2019) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/doc/README.dev
+
+[doc/README.dev] Updated some URL's (http → https).
+(merged changeset r13376 from the trunk)
+------------------------------------------------------------------------
+r13375 | vlefevre | 2019-01-07 13:57:16 +0000 (Mon, 07 Jan 2019) | 1 line
+Changed paths:
+   M /branches/4.0/doc/texinfo.tex
+
+[doc/texinfo.tex] Update to 2018-02-12.17 with "autoreconf -i -f".
+------------------------------------------------------------------------
+r13373 | vlefevre | 2019-01-07 13:53:20 +0000 (Mon, 07 Jan 2019) | 3 lines
+Changed paths:
+   M /branches/4.0/BUGS
+   M /branches/4.0/COPYING
+   M /branches/4.0/ChangeLog
+   M /branches/4.0/INSTALL
+   M /branches/4.0/NEWS
+   M /branches/4.0/README
+   M /branches/4.0/TODO
+   M /branches/4.0/acinclude.m4
+   M /branches/4.0/configure.ac
+   M /branches/4.0/doc/FAQ.html
+   M /branches/4.0/doc/README.dev
+   M /branches/4.0/doc/faq.xsl
+   M /branches/4.0/doc/fdl.texi
+   M /branches/4.0/examples/can_round.c
+   M /branches/4.0/examples/divworst.c
+   M /branches/4.0/examples/rndo-add.c
+   M /branches/4.0/examples/sample.c
+   M /branches/4.0/examples/version.c
+   M /branches/4.0/src/abort_prec_max.c
+   M /branches/4.0/src/acos.c
+   M /branches/4.0/src/acosh.c
+   M /branches/4.0/src/add.c
+   M /branches/4.0/src/add1.c
+   M /branches/4.0/src/add1sp.c
+   M /branches/4.0/src/add_d.c
+   M /branches/4.0/src/add_ui.c
+   M /branches/4.0/src/agm.c
+   M /branches/4.0/src/ai.c
+   M /branches/4.0/src/amd/amdfam10/mparam.h
+   M /branches/4.0/src/amd/athlon/mparam.h
+   M /branches/4.0/src/amd/k8/mparam.h
+   M /branches/4.0/src/arm/mparam.h
+   M /branches/4.0/src/asin.c
+   M /branches/4.0/src/asinh.c
+   M /branches/4.0/src/atan.c
+   M /branches/4.0/src/atan2.c
+   M /branches/4.0/src/atanh.c
+   M /branches/4.0/src/bernoulli.c
+   M /branches/4.0/src/beta.c
+   M /branches/4.0/src/buildopt.c
+   M /branches/4.0/src/cache.c
+   M /branches/4.0/src/cbrt.c
+   M /branches/4.0/src/check.c
+   M /branches/4.0/src/clear.c
+   M /branches/4.0/src/clears.c
+   M /branches/4.0/src/cmp.c
+   M /branches/4.0/src/cmp2.c
+   M /branches/4.0/src/cmp_abs.c
+   M /branches/4.0/src/cmp_d.c
+   M /branches/4.0/src/cmp_ld.c
+   M /branches/4.0/src/cmp_si.c
+   M /branches/4.0/src/cmp_ui.c
+   M /branches/4.0/src/comparisons.c
+   M /branches/4.0/src/const_catalan.c
+   M /branches/4.0/src/const_euler.c
+   M /branches/4.0/src/const_log2.c
+   M /branches/4.0/src/const_pi.c
+   M /branches/4.0/src/constant.c
+   M /branches/4.0/src/copysign.c
+   M /branches/4.0/src/cos.c
+   M /branches/4.0/src/cosh.c
+   M /branches/4.0/src/cot.c
+   M /branches/4.0/src/coth.c
+   M /branches/4.0/src/csc.c
+   M /branches/4.0/src/csch.c
+   M /branches/4.0/src/d_div.c
+   M /branches/4.0/src/d_sub.c
+   M /branches/4.0/src/digamma.c
+   M /branches/4.0/src/dim.c
+   M /branches/4.0/src/div.c
+   M /branches/4.0/src/div_2exp.c
+   M /branches/4.0/src/div_2si.c
+   M /branches/4.0/src/div_2ui.c
+   M /branches/4.0/src/div_d.c
+   M /branches/4.0/src/div_ui.c
+   M /branches/4.0/src/dump.c
+   M /branches/4.0/src/eint.c
+   M /branches/4.0/src/eq.c
+   M /branches/4.0/src/erandom.c
+   M /branches/4.0/src/erf.c
+   M /branches/4.0/src/erfc.c
+   M /branches/4.0/src/exceptions.c
+   M /branches/4.0/src/exp.c
+   M /branches/4.0/src/exp10.c
+   M /branches/4.0/src/exp2.c
+   M /branches/4.0/src/exp3.c
+   M /branches/4.0/src/exp_2.c
+   M /branches/4.0/src/expm1.c
+   M /branches/4.0/src/extract.c
+   M /branches/4.0/src/factorial.c
+   M /branches/4.0/src/fits_intmax.c
+   M /branches/4.0/src/fits_s.h
+   M /branches/4.0/src/fits_sint.c
+   M /branches/4.0/src/fits_slong.c
+   M /branches/4.0/src/fits_sshort.c
+   M /branches/4.0/src/fits_u.h
+   M /branches/4.0/src/fits_uint.c
+   M /branches/4.0/src/fits_uintmax.c
+   M /branches/4.0/src/fits_ulong.c
+   M /branches/4.0/src/fits_ushort.c
+   M /branches/4.0/src/fma.c
+   M /branches/4.0/src/fmma.c
+   M /branches/4.0/src/fms.c
+   M /branches/4.0/src/fpif.c
+   M /branches/4.0/src/frac.c
+   M /branches/4.0/src/free_cache.c
+   M /branches/4.0/src/frexp.c
+   M /branches/4.0/src/gamma.c
+   M /branches/4.0/src/gamma_inc.c
+   M /branches/4.0/src/gammaonethird.c
+   M /branches/4.0/src/gen_inverse.h
+   M /branches/4.0/src/generic/coverage/mparam.h
+   M /branches/4.0/src/generic/mparam.h
+   M /branches/4.0/src/get_d.c
+   M /branches/4.0/src/get_d64.c
+   M /branches/4.0/src/get_exp.c
+   M /branches/4.0/src/get_f.c
+   M /branches/4.0/src/get_float128.c
+   M /branches/4.0/src/get_flt.c
+   M /branches/4.0/src/get_ld.c
+   M /branches/4.0/src/get_q.c
+   M /branches/4.0/src/get_si.c
+   M /branches/4.0/src/get_sj.c
+   M /branches/4.0/src/get_str.c
+   M /branches/4.0/src/get_ui.c
+   M /branches/4.0/src/get_uj.c
+   M /branches/4.0/src/get_z.c
+   M /branches/4.0/src/get_z_exp.c
+   M /branches/4.0/src/gmp_op.c
+   M /branches/4.0/src/grandom.c
+   M /branches/4.0/src/hppa/mparam.h
+   M /branches/4.0/src/hypot.c
+   M /branches/4.0/src/ia64/mparam.h
+   M /branches/4.0/src/ieee_floats.h
+   M /branches/4.0/src/init.c
+   M /branches/4.0/src/init2.c
+   M /branches/4.0/src/inits.c
+   M /branches/4.0/src/inits2.c
+   M /branches/4.0/src/inp_str.c
+   M /branches/4.0/src/int_ceil_log2.c
+   M /branches/4.0/src/invert_limb.h
+   M /branches/4.0/src/invsqrt_limb.h
+   M /branches/4.0/src/isinf.c
+   M /branches/4.0/src/isinteger.c
+   M /branches/4.0/src/isnan.c
+   M /branches/4.0/src/isnum.c
+   M /branches/4.0/src/isqrt.c
+   M /branches/4.0/src/isregular.c
+   M /branches/4.0/src/iszero.c
+   M /branches/4.0/src/jn.c
+   M /branches/4.0/src/jyn_asympt.c
+   M /branches/4.0/src/li2.c
+   M /branches/4.0/src/lngamma.c
+   M /branches/4.0/src/log.c
+   M /branches/4.0/src/log10.c
+   M /branches/4.0/src/log1p.c
+   M /branches/4.0/src/log2.c
+   M /branches/4.0/src/log_ui.c
+   M /branches/4.0/src/logging.c
+   M /branches/4.0/src/min_prec.c
+   M /branches/4.0/src/minmax.c
+   M /branches/4.0/src/mips/mparam.h
+   M /branches/4.0/src/modf.c
+   M /branches/4.0/src/mp_clz_tab.c
+   M /branches/4.0/src/mparam_h.in
+   M /branches/4.0/src/mpf2mpfr.h
+   M /branches/4.0/src/mpfr-cvers.h
+   M /branches/4.0/src/mpfr-gmp.c
+   M /branches/4.0/src/mpfr-gmp.h
+   M /branches/4.0/src/mpfr-impl.h
+   M /branches/4.0/src/mpfr-intmax.h
+   M /branches/4.0/src/mpfr-longlong.h
+   M /branches/4.0/src/mpfr-mini-gmp.c
+   M /branches/4.0/src/mpfr-mini-gmp.h
+   M /branches/4.0/src/mpfr-sassert.h
+   M /branches/4.0/src/mpfr-thread.h
+   M /branches/4.0/src/mpfr.h
+   M /branches/4.0/src/mpn_exp.c
+   M /branches/4.0/src/mul.c
+   M /branches/4.0/src/mul_2exp.c
+   M /branches/4.0/src/mul_2si.c
+   M /branches/4.0/src/mul_2ui.c
+   M /branches/4.0/src/mul_d.c
+   M /branches/4.0/src/mul_ui.c
+   M /branches/4.0/src/mulders.c
+   M /branches/4.0/src/neg.c
+   M /branches/4.0/src/next.c
+   M /branches/4.0/src/nrandom.c
+   M /branches/4.0/src/odd_p.c
+   M /branches/4.0/src/out_str.c
+   M /branches/4.0/src/pool.c
+   M /branches/4.0/src/pow.c
+   M /branches/4.0/src/pow_si.c
+   M /branches/4.0/src/pow_ui.c
+   M /branches/4.0/src/pow_z.c
+   M /branches/4.0/src/powerof2.c
+   M /branches/4.0/src/powerpc32/mparam.h
+   M /branches/4.0/src/powerpc64/mparam.h
+   M /branches/4.0/src/print_raw.c
+   M /branches/4.0/src/print_rnd_mode.c
+   M /branches/4.0/src/printf.c
+   M /branches/4.0/src/random_deviate.c
+   M /branches/4.0/src/random_deviate.h
+   M /branches/4.0/src/rec_sqrt.c
+   M /branches/4.0/src/reldiff.c
+   M /branches/4.0/src/rem1.c
+   M /branches/4.0/src/rint.c
+   M /branches/4.0/src/rndna.c
+   M /branches/4.0/src/root.c
+   M /branches/4.0/src/round_near_x.c
+   M /branches/4.0/src/round_p.c
+   M /branches/4.0/src/round_prec.c
+   M /branches/4.0/src/round_raw_generic.c
+   M /branches/4.0/src/scale2.c
+   M /branches/4.0/src/sec.c
+   M /branches/4.0/src/sech.c
+   M /branches/4.0/src/set.c
+   M /branches/4.0/src/set_d.c
+   M /branches/4.0/src/set_d64.c
+   M /branches/4.0/src/set_dfl_prec.c
+   M /branches/4.0/src/set_exp.c
+   M /branches/4.0/src/set_f.c
+   M /branches/4.0/src/set_float128.c
+   M /branches/4.0/src/set_flt.c
+   M /branches/4.0/src/set_inf.c
+   M /branches/4.0/src/set_ld.c
+   M /branches/4.0/src/set_nan.c
+   M /branches/4.0/src/set_prc_raw.c
+   M /branches/4.0/src/set_prec.c
+   M /branches/4.0/src/set_q.c
+   M /branches/4.0/src/set_rnd.c
+   M /branches/4.0/src/set_si.c
+   M /branches/4.0/src/set_si_2exp.c
+   M /branches/4.0/src/set_sj.c
+   M /branches/4.0/src/set_str.c
+   M /branches/4.0/src/set_str_raw.c
+   M /branches/4.0/src/set_ui.c
+   M /branches/4.0/src/set_ui_2exp.c
+   M /branches/4.0/src/set_uj.c
+   M /branches/4.0/src/set_z.c
+   M /branches/4.0/src/set_z_exp.c
+   M /branches/4.0/src/set_zero.c
+   M /branches/4.0/src/setmax.c
+   M /branches/4.0/src/setmin.c
+   M /branches/4.0/src/setsign.c
+   M /branches/4.0/src/sgn.c
+   M /branches/4.0/src/si_op.c
+   M /branches/4.0/src/signbit.c
+   M /branches/4.0/src/sin.c
+   M /branches/4.0/src/sin_cos.c
+   M /branches/4.0/src/sinh.c
+   M /branches/4.0/src/sinh_cosh.c
+   M /branches/4.0/src/sparc64/mparam.h
+   M /branches/4.0/src/sqr.c
+   M /branches/4.0/src/sqrt.c
+   M /branches/4.0/src/sqrt_ui.c
+   M /branches/4.0/src/stack_interface.c
+   M /branches/4.0/src/strtofr.c
+   M /branches/4.0/src/sub.c
+   M /branches/4.0/src/sub1.c
+   M /branches/4.0/src/sub1sp.c
+   M /branches/4.0/src/sub_d.c
+   M /branches/4.0/src/sub_ui.c
+   M /branches/4.0/src/subnormal.c
+   M /branches/4.0/src/sum.c
+   M /branches/4.0/src/swap.c
+   M /branches/4.0/src/tan.c
+   M /branches/4.0/src/tanh.c
+   M /branches/4.0/src/ubf.c
+   M /branches/4.0/src/uceil_exp2.c
+   M /branches/4.0/src/uceil_log2.c
+   M /branches/4.0/src/ufloor_log2.c
+   M /branches/4.0/src/ui_div.c
+   M /branches/4.0/src/ui_pow.c
+   M /branches/4.0/src/ui_pow_ui.c
+   M /branches/4.0/src/ui_sub.c
+   M /branches/4.0/src/urandom.c
+   M /branches/4.0/src/urandomb.c
+   M /branches/4.0/src/vasprintf.c
+   M /branches/4.0/src/version.c
+   M /branches/4.0/src/volatile.c
+   M /branches/4.0/src/x86/core2/mparam.h
+   M /branches/4.0/src/x86/mparam.h
+   M /branches/4.0/src/x86_64/core2/mparam.h
+   M /branches/4.0/src/x86_64/corei5/mparam.h
+   M /branches/4.0/src/x86_64/pentium4/mparam.h
+   M /branches/4.0/src/yn.c
+   M /branches/4.0/src/zeta.c
+   M /branches/4.0/src/zeta_ui.c
+   M /branches/4.0/tests/Makefile.am
+   M /branches/4.0/tests/cmp_str.c
+   M /branches/4.0/tests/data/digamma
+   M /branches/4.0/tests/data/li2
+   M /branches/4.0/tests/memory.c
+   M /branches/4.0/tests/mpf_compat.c
+   M /branches/4.0/tests/mpf_compat.h
+   M /branches/4.0/tests/mpfr-test.h
+   M /branches/4.0/tests/mpfr_compat.c
+   M /branches/4.0/tests/random2.c
+   M /branches/4.0/tests/reuse.c
+   M /branches/4.0/tests/rnd_mode.c
+   M /branches/4.0/tests/tabort_defalloc1.c
+   M /branches/4.0/tests/tabort_defalloc2.c
+   M /branches/4.0/tests/tabort_prec_max.c
+   M /branches/4.0/tests/tabs.c
+   M /branches/4.0/tests/tacos.c
+   M /branches/4.0/tests/tacosh.c
+   M /branches/4.0/tests/tadd.c
+   M /branches/4.0/tests/tadd1sp.c
+   M /branches/4.0/tests/tadd_d.c
+   M /branches/4.0/tests/tadd_ui.c
+   M /branches/4.0/tests/tagm.c
+   M /branches/4.0/tests/tai.c
+   M /branches/4.0/tests/talloc-cache.c
+   M /branches/4.0/tests/talloc.c
+   M /branches/4.0/tests/tasin.c
+   M /branches/4.0/tests/tasinh.c
+   M /branches/4.0/tests/tassert.c
+   M /branches/4.0/tests/tatan.c
+   M /branches/4.0/tests/tatanh.c
+   M /branches/4.0/tests/taway.c
+   M /branches/4.0/tests/tbeta.c
+   M /branches/4.0/tests/tbuildopt.c
+   M /branches/4.0/tests/tcan_round.c
+   M /branches/4.0/tests/tcbrt.c
+   M /branches/4.0/tests/tcheck.c
+   M /branches/4.0/tests/tcmp.c
+   M /branches/4.0/tests/tcmp2.c
+   M /branches/4.0/tests/tcmp_d.c
+   M /branches/4.0/tests/tcmp_ld.c
+   M /branches/4.0/tests/tcmp_ui.c
+   M /branches/4.0/tests/tcmpabs.c
+   M /branches/4.0/tests/tcomparisons.c
+   M /branches/4.0/tests/tconst_catalan.c
+   M /branches/4.0/tests/tconst_euler.c
+   M /branches/4.0/tests/tconst_log2.c
+   M /branches/4.0/tests/tconst_pi.c
+   M /branches/4.0/tests/tcopysign.c
+   M /branches/4.0/tests/tcos.c
+   M /branches/4.0/tests/tcosh.c
+   M /branches/4.0/tests/tcot.c
+   M /branches/4.0/tests/tcoth.c
+   M /branches/4.0/tests/tcsc.c
+   M /branches/4.0/tests/tcsch.c
+   M /branches/4.0/tests/td_div.c
+   M /branches/4.0/tests/td_sub.c
+   M /branches/4.0/tests/tdigamma.c
+   M /branches/4.0/tests/tdim.c
+   M /branches/4.0/tests/tdiv.c
+   M /branches/4.0/tests/tdiv_d.c
+   M /branches/4.0/tests/tdiv_ui.c
+   M /branches/4.0/tests/teint.c
+   M /branches/4.0/tests/teq.c
+   M /branches/4.0/tests/terandom.c
+   M /branches/4.0/tests/terandom_chisq.c
+   M /branches/4.0/tests/terf.c
+   M /branches/4.0/tests/tests.c
+   M /branches/4.0/tests/texceptions.c
+   M /branches/4.0/tests/texp.c
+   M /branches/4.0/tests/texp10.c
+   M /branches/4.0/tests/texp2.c
+   M /branches/4.0/tests/texpm1.c
+   M /branches/4.0/tests/tfactorial.c
+   M /branches/4.0/tests/tfits.c
+   M /branches/4.0/tests/tfma.c
+   M /branches/4.0/tests/tfmma.c
+   M /branches/4.0/tests/tfmod.c
+   M /branches/4.0/tests/tfms.c
+   M /branches/4.0/tests/tfpif.c
+   M /branches/4.0/tests/tfprintf.c
+   M /branches/4.0/tests/tfrac.c
+   M /branches/4.0/tests/tfrexp.c
+   M /branches/4.0/tests/tgamma.c
+   M /branches/4.0/tests/tgamma_inc.c
+   M /branches/4.0/tests/tgeneric.c
+   M /branches/4.0/tests/tgeneric_ui.c
+   M /branches/4.0/tests/tget_d.c
+   M /branches/4.0/tests/tget_d_2exp.c
+   M /branches/4.0/tests/tget_f.c
+   M /branches/4.0/tests/tget_flt.c
+   M /branches/4.0/tests/tget_ld_2exp.c
+   M /branches/4.0/tests/tget_q.c
+   M /branches/4.0/tests/tget_set_d64.c
+   M /branches/4.0/tests/tget_sj.c
+   M /branches/4.0/tests/tget_str.c
+   M /branches/4.0/tests/tget_z.c
+   M /branches/4.0/tests/tgmpop.c
+   M /branches/4.0/tests/tgrandom.c
+   M /branches/4.0/tests/thyperbolic.c
+   M /branches/4.0/tests/thypot.c
+   M /branches/4.0/tests/tinits.c
+   M /branches/4.0/tests/tinp_str.c
+   M /branches/4.0/tests/tinternals.c
+   M /branches/4.0/tests/tisnan.c
+   M /branches/4.0/tests/tisqrt.c
+   M /branches/4.0/tests/tj0.c
+   M /branches/4.0/tests/tj1.c
+   M /branches/4.0/tests/tjn.c
+   M /branches/4.0/tests/tl2b.c
+   M /branches/4.0/tests/tlgamma.c
+   M /branches/4.0/tests/tli2.c
+   M /branches/4.0/tests/tlngamma.c
+   M /branches/4.0/tests/tlog.c
+   M /branches/4.0/tests/tlog10.c
+   M /branches/4.0/tests/tlog1p.c
+   M /branches/4.0/tests/tlog2.c
+   M /branches/4.0/tests/tlog_ui.c
+   M /branches/4.0/tests/tmin_prec.c
+   M /branches/4.0/tests/tminmax.c
+   M /branches/4.0/tests/tmodf.c
+   M /branches/4.0/tests/tmul.c
+   M /branches/4.0/tests/tmul_2exp.c
+   M /branches/4.0/tests/tmul_d.c
+   M /branches/4.0/tests/tmul_ui.c
+   M /branches/4.0/tests/tnext.c
+   M /branches/4.0/tests/tnrandom.c
+   M /branches/4.0/tests/tnrandom_chisq.c
+   M /branches/4.0/tests/tout_str.c
+   M /branches/4.0/tests/toutimpl.c
+   M /branches/4.0/tests/tpow.c
+   M /branches/4.0/tests/tpow3.c
+   M /branches/4.0/tests/tpow_all.c
+   M /branches/4.0/tests/tpow_z.c
+   M /branches/4.0/tests/tprintf.c
+   M /branches/4.0/tests/trandom.c
+   M /branches/4.0/tests/trandom_deviate.c
+   M /branches/4.0/tests/trec_sqrt.c
+   M /branches/4.0/tests/tremquo.c
+   M /branches/4.0/tests/trint.c
+   M /branches/4.0/tests/trndna.c
+   M /branches/4.0/tests/troot.c
+   M /branches/4.0/tests/trootn_ui.c
+   M /branches/4.0/tests/tround_prec.c
+   M /branches/4.0/tests/tsec.c
+   M /branches/4.0/tests/tsech.c
+   M /branches/4.0/tests/tset.c
+   M /branches/4.0/tests/tset_d.c
+   M /branches/4.0/tests/tset_exp.c
+   M /branches/4.0/tests/tset_f.c
+   M /branches/4.0/tests/tset_float128.c
+   M /branches/4.0/tests/tset_ld.c
+   M /branches/4.0/tests/tset_q.c
+   M /branches/4.0/tests/tset_si.c
+   M /branches/4.0/tests/tset_sj.c
+   M /branches/4.0/tests/tset_str.c
+   M /branches/4.0/tests/tset_z.c
+   M /branches/4.0/tests/tset_z_exp.c
+   M /branches/4.0/tests/tsgn.c
+   M /branches/4.0/tests/tsi_op.c
+   M /branches/4.0/tests/tsin.c
+   M /branches/4.0/tests/tsin_cos.c
+   M /branches/4.0/tests/tsinh.c
+   M /branches/4.0/tests/tsinh_cosh.c
+   M /branches/4.0/tests/tsprintf.c
+   M /branches/4.0/tests/tsqr.c
+   M /branches/4.0/tests/tsqrt.c
+   M /branches/4.0/tests/tsqrt_ui.c
+   M /branches/4.0/tests/tstckintc.c
+   M /branches/4.0/tests/tstdint.c
+   M /branches/4.0/tests/tstrtofr.c
+   M /branches/4.0/tests/tsub.c
+   M /branches/4.0/tests/tsub1sp.c
+   M /branches/4.0/tests/tsub_d.c
+   M /branches/4.0/tests/tsub_ui.c
+   M /branches/4.0/tests/tsubnormal.c
+   M /branches/4.0/tests/tsum.c
+   M /branches/4.0/tests/tswap.c
+   M /branches/4.0/tests/ttan.c
+   M /branches/4.0/tests/ttanh.c
+   M /branches/4.0/tests/ttrunc.c
+   M /branches/4.0/tests/tui_div.c
+   M /branches/4.0/tests/tui_pow.c
+   M /branches/4.0/tests/tui_sub.c
+   M /branches/4.0/tests/turandom.c
+   M /branches/4.0/tests/tvalist.c
+   M /branches/4.0/tests/tversion.c
+   M /branches/4.0/tests/ty0.c
+   M /branches/4.0/tests/ty1.c
+   M /branches/4.0/tests/tyn.c
+   M /branches/4.0/tests/tzeta.c
+   M /branches/4.0/tests/tzeta_ui.c
+   M /branches/4.0/tools/bench/benchtime.h
+   M /branches/4.0/tools/bench/mpfrbench.c
+   M /branches/4.0/tools/get_patches.sh
+   M /branches/4.0/tools/mbench/generate.c
+   M /branches/4.0/tools/mbench/mfv5-arprec.cc
+   M /branches/4.0/tools/mbench/mfv5-cln.cc
+   M /branches/4.0/tools/mbench/mfv5-crlibm.cc
+   M /branches/4.0/tools/mbench/mfv5-libc.cc
+   M /branches/4.0/tools/mbench/mfv5-lidia.cc
+   M /branches/4.0/tools/mbench/mfv5-mpf.cc
+   M /branches/4.0/tools/mbench/mfv5-mpfr.cc
+   M /branches/4.0/tools/mbench/mfv5-ntl.cc
+   M /branches/4.0/tools/mbench/mfv5-pari.cc
+   M /branches/4.0/tools/mbench/mfv5-void.cc
+   M /branches/4.0/tools/mbench/mfv5.cc
+   M /branches/4.0/tools/mbench/mfv5.h
+   M /branches/4.0/tools/mbench/mpfr-gfx.c
+   M /branches/4.0/tools/mbench/mpfr-v4.c
+   M /branches/4.0/tools/mbench/mpfr-v6.c
+   M /branches/4.0/tools/mbench/timp.h
+   M /branches/4.0/tools/timings-mpfr.c
+   M /branches/4.0/tune/bidimensional_sample.c
+   M /branches/4.0/tune/speed.c
+   M /branches/4.0/tune/tuneup.c
+
+Updated the www.gnu.org URL's (http → https) on all the files with:
+  perl -pi -e 's,http://www.gnu.org/,https://www.gnu.org/,g' **/*(.)
+under zsh.
+------------------------------------------------------------------------
+r13371 | vlefevre | 2019-01-07 13:35:33 +0000 (Mon, 07 Jan 2019) | 1 line
+Changed paths:
+   M /branches/4.0/src/Makefile.am
+
+[src/Makefile.am] Updated libmpfr_la_LDFLAGS for MPFR 4.0.2.
+------------------------------------------------------------------------
+r13370 | vlefevre | 2019-01-07 13:22:53 +0000 (Mon, 07 Jan 2019) | 1 line
+Changed paths:
+   M /branches/4.0/VERSION
+   M /branches/4.0/configure.ac
+   M /branches/4.0/doc/mpfr.texi
+   M /branches/4.0/src/mpfr.h
+   M /branches/4.0/src/version.c
+
+Updated version to 4.0.2-rc1.
+------------------------------------------------------------------------
+r13366 | vlefevre | 2019-01-07 09:39:52 +0000 (Mon, 07 Jan 2019) | 14 lines
+Changed paths:
+   M /branches/4.0/src/strtofr.c
+   M /branches/4.0/tests/tstrtofr.c
+
+[src/strtofr.c] Fixed various issues. In particular, the error analysis
+  with associated code was incorrect (due to the bad correction r8384
+  of a past bug, later really fixed in r11056). Also adapted the code
+  to work with small-size limbs.
+[tests/tstrtofr.c] Added tests, including random tests. In particular,
+  some part of the code was tested only on hard-to-round cases, meaning
+  that some potential issues could not be detected (intermediate results
+  were thrown out due to the next Ziv iteration). Moreover, in case of
+  failure of some particular test, output the probable cause of this
+  failure (GCC bug 86554) with a workaround.
+(merged changesets associated with these files r12566-13306,13364-13365
+from the trunk)
+Note: There may still remain issues with mpfr_strtofr, to be checked
+later. At least, the tests do not fail.
+------------------------------------------------------------------------
+r13363 | vlefevre | 2019-01-04 12:11:10 +0000 (Fri, 04 Jan 2019) | 3 lines
+Changed paths:
+   M /branches/4.0/src/mpfr-impl.h
+
+[src/mpfr-impl.h] Added a comment with a warning concerning the meaning
+of MPFR_EXP_FSPEC (corresponding to the merge of mpfr-impl.h r13299
+from the trunk; the other part of this commit with be merged later).
+------------------------------------------------------------------------
+r13362 | vlefevre | 2019-01-01 21:18:11 +0000 (Tue, 01 Jan 2019) | 1 line
+Changed paths:
+   M /branches/4.0/doc/mpfr.texi
+
+[doc/mpfr.texi] Updated the month.
+------------------------------------------------------------------------
+r13360 | vlefevre | 2019-01-01 21:02:47 +0000 (Tue, 01 Jan 2019) | 4 lines
+Changed paths:
+   M /branches/4.0/BUGS
+   M /branches/4.0/INSTALL
+   M /branches/4.0/Makefile.am
+   M /branches/4.0/NEWS
+   M /branches/4.0/README
+   M /branches/4.0/TODO
+   M /branches/4.0/acinclude.m4
+   M /branches/4.0/configure.ac
+   M /branches/4.0/doc/FAQ.html
+   M /branches/4.0/doc/Makefile.am
+   M /branches/4.0/doc/README.dev
+   M /branches/4.0/doc/check-typography
+   M /branches/4.0/doc/faq.xsl
+   M /branches/4.0/doc/mpfr.texi
+   M /branches/4.0/examples/can_round.c
+   M /branches/4.0/examples/divworst.c
+   M /branches/4.0/examples/rndo-add.c
+   M /branches/4.0/examples/sample.c
+   M /branches/4.0/examples/version.c
+   M /branches/4.0/src/Makefile.am
+   M /branches/4.0/src/abort_prec_max.c
+   M /branches/4.0/src/acos.c
+   M /branches/4.0/src/acosh.c
+   M /branches/4.0/src/add.c
+   M /branches/4.0/src/add1.c
+   M /branches/4.0/src/add1sp.c
+   M /branches/4.0/src/add_d.c
+   M /branches/4.0/src/add_ui.c
+   M /branches/4.0/src/agm.c
+   M /branches/4.0/src/ai.c
+   M /branches/4.0/src/amd/amdfam10/mparam.h
+   M /branches/4.0/src/amd/athlon/mparam.h
+   M /branches/4.0/src/amd/k8/mparam.h
+   M /branches/4.0/src/arm/mparam.h
+   M /branches/4.0/src/asin.c
+   M /branches/4.0/src/asinh.c
+   M /branches/4.0/src/atan.c
+   M /branches/4.0/src/atan2.c
+   M /branches/4.0/src/atanh.c
+   M /branches/4.0/src/bernoulli.c
+   M /branches/4.0/src/beta.c
+   M /branches/4.0/src/buildopt.c
+   M /branches/4.0/src/cache.c
+   M /branches/4.0/src/cbrt.c
+   M /branches/4.0/src/check.c
+   M /branches/4.0/src/clear.c
+   M /branches/4.0/src/clears.c
+   M /branches/4.0/src/cmp.c
+   M /branches/4.0/src/cmp2.c
+   M /branches/4.0/src/cmp_abs.c
+   M /branches/4.0/src/cmp_d.c
+   M /branches/4.0/src/cmp_ld.c
+   M /branches/4.0/src/cmp_si.c
+   M /branches/4.0/src/cmp_ui.c
+   M /branches/4.0/src/comparisons.c
+   M /branches/4.0/src/const_catalan.c
+   M /branches/4.0/src/const_euler.c
+   M /branches/4.0/src/const_log2.c
+   M /branches/4.0/src/const_pi.c
+   M /branches/4.0/src/constant.c
+   M /branches/4.0/src/copysign.c
+   M /branches/4.0/src/cos.c
+   M /branches/4.0/src/cosh.c
+   M /branches/4.0/src/cot.c
+   M /branches/4.0/src/coth.c
+   M /branches/4.0/src/csc.c
+   M /branches/4.0/src/csch.c
+   M /branches/4.0/src/d_div.c
+   M /branches/4.0/src/d_sub.c
+   M /branches/4.0/src/digamma.c
+   M /branches/4.0/src/dim.c
+   M /branches/4.0/src/div.c
+   M /branches/4.0/src/div_2exp.c
+   M /branches/4.0/src/div_2si.c
+   M /branches/4.0/src/div_2ui.c
+   M /branches/4.0/src/div_d.c
+   M /branches/4.0/src/div_ui.c
+   M /branches/4.0/src/dump.c
+   M /branches/4.0/src/eint.c
+   M /branches/4.0/src/eq.c
+   M /branches/4.0/src/erandom.c
+   M /branches/4.0/src/erf.c
+   M /branches/4.0/src/erfc.c
+   M /branches/4.0/src/exceptions.c
+   M /branches/4.0/src/exp.c
+   M /branches/4.0/src/exp10.c
+   M /branches/4.0/src/exp2.c
+   M /branches/4.0/src/exp3.c
+   M /branches/4.0/src/exp_2.c
+   M /branches/4.0/src/expm1.c
+   M /branches/4.0/src/extract.c
+   M /branches/4.0/src/factorial.c
+   M /branches/4.0/src/fits_intmax.c
+   M /branches/4.0/src/fits_s.h
+   M /branches/4.0/src/fits_sint.c
+   M /branches/4.0/src/fits_slong.c
+   M /branches/4.0/src/fits_sshort.c
+   M /branches/4.0/src/fits_u.h
+   M /branches/4.0/src/fits_uint.c
+   M /branches/4.0/src/fits_uintmax.c
+   M /branches/4.0/src/fits_ulong.c
+   M /branches/4.0/src/fits_ushort.c
+   M /branches/4.0/src/fma.c
+   M /branches/4.0/src/fmma.c
+   M /branches/4.0/src/fms.c
+   M /branches/4.0/src/fpif.c
+   M /branches/4.0/src/frac.c
+   M /branches/4.0/src/free_cache.c
+   M /branches/4.0/src/frexp.c
+   M /branches/4.0/src/gamma.c
+   M /branches/4.0/src/gamma_inc.c
+   M /branches/4.0/src/gammaonethird.c
+   M /branches/4.0/src/gen_inverse.h
+   M /branches/4.0/src/generic/coverage/mparam.h
+   M /branches/4.0/src/generic/mparam.h
+   M /branches/4.0/src/get_d.c
+   M /branches/4.0/src/get_d64.c
+   M /branches/4.0/src/get_exp.c
+   M /branches/4.0/src/get_f.c
+   M /branches/4.0/src/get_float128.c
+   M /branches/4.0/src/get_flt.c
+   M /branches/4.0/src/get_ld.c
+   M /branches/4.0/src/get_q.c
+   M /branches/4.0/src/get_si.c
+   M /branches/4.0/src/get_sj.c
+   M /branches/4.0/src/get_str.c
+   M /branches/4.0/src/get_ui.c
+   M /branches/4.0/src/get_uj.c
+   M /branches/4.0/src/get_z.c
+   M /branches/4.0/src/get_z_exp.c
+   M /branches/4.0/src/gmp_op.c
+   M /branches/4.0/src/grandom.c
+   M /branches/4.0/src/hppa/mparam.h
+   M /branches/4.0/src/hypot.c
+   M /branches/4.0/src/ia64/mparam.h
+   M /branches/4.0/src/ieee_floats.h
+   M /branches/4.0/src/init.c
+   M /branches/4.0/src/init2.c
+   M /branches/4.0/src/inits.c
+   M /branches/4.0/src/inits2.c
+   M /branches/4.0/src/inp_str.c
+   M /branches/4.0/src/int_ceil_log2.c
+   M /branches/4.0/src/invert_limb.h
+   M /branches/4.0/src/invsqrt_limb.h
+   M /branches/4.0/src/isinf.c
+   M /branches/4.0/src/isinteger.c
+   M /branches/4.0/src/isnan.c
+   M /branches/4.0/src/isnum.c
+   M /branches/4.0/src/isqrt.c
+   M /branches/4.0/src/isregular.c
+   M /branches/4.0/src/iszero.c
+   M /branches/4.0/src/jn.c
+   M /branches/4.0/src/jyn_asympt.c
+   M /branches/4.0/src/li2.c
+   M /branches/4.0/src/lngamma.c
+   M /branches/4.0/src/log.c
+   M /branches/4.0/src/log10.c
+   M /branches/4.0/src/log1p.c
+   M /branches/4.0/src/log2.c
+   M /branches/4.0/src/log_ui.c
+   M /branches/4.0/src/logging.c
+   M /branches/4.0/src/min_prec.c
+   M /branches/4.0/src/minmax.c
+   M /branches/4.0/src/mips/mparam.h
+   M /branches/4.0/src/modf.c
+   M /branches/4.0/src/mp_clz_tab.c
+   M /branches/4.0/src/mparam_h.in
+   M /branches/4.0/src/mpf2mpfr.h
+   M /branches/4.0/src/mpfr-cvers.h
+   M /branches/4.0/src/mpfr-gmp.c
+   M /branches/4.0/src/mpfr-gmp.h
+   M /branches/4.0/src/mpfr-impl.h
+   M /branches/4.0/src/mpfr-intmax.h
+   M /branches/4.0/src/mpfr-longlong.h
+   M /branches/4.0/src/mpfr-mini-gmp.c
+   M /branches/4.0/src/mpfr-mini-gmp.h
+   M /branches/4.0/src/mpfr-sassert.h
+   M /branches/4.0/src/mpfr-thread.h
+   M /branches/4.0/src/mpfr.h
+   M /branches/4.0/src/mpn_exp.c
+   M /branches/4.0/src/mul.c
+   M /branches/4.0/src/mul_2exp.c
+   M /branches/4.0/src/mul_2si.c
+   M /branches/4.0/src/mul_2ui.c
+   M /branches/4.0/src/mul_d.c
+   M /branches/4.0/src/mul_ui.c
+   M /branches/4.0/src/mulders.c
+   M /branches/4.0/src/neg.c
+   M /branches/4.0/src/next.c
+   M /branches/4.0/src/nrandom.c
+   M /branches/4.0/src/odd_p.c
+   M /branches/4.0/src/out_str.c
+   M /branches/4.0/src/pool.c
+   M /branches/4.0/src/pow.c
+   M /branches/4.0/src/pow_si.c
+   M /branches/4.0/src/pow_ui.c
+   M /branches/4.0/src/pow_z.c
+   M /branches/4.0/src/powerof2.c
+   M /branches/4.0/src/powerpc32/mparam.h
+   M /branches/4.0/src/powerpc64/mparam.h
+   M /branches/4.0/src/print_raw.c
+   M /branches/4.0/src/print_rnd_mode.c
+   M /branches/4.0/src/printf.c
+   M /branches/4.0/src/random_deviate.c
+   M /branches/4.0/src/random_deviate.h
+   M /branches/4.0/src/rec_sqrt.c
+   M /branches/4.0/src/reldiff.c
+   M /branches/4.0/src/rem1.c
+   M /branches/4.0/src/rint.c
+   M /branches/4.0/src/rndna.c
+   M /branches/4.0/src/root.c
+   M /branches/4.0/src/round_near_x.c
+   M /branches/4.0/src/round_p.c
+   M /branches/4.0/src/round_prec.c
+   M /branches/4.0/src/round_raw_generic.c
+   M /branches/4.0/src/scale2.c
+   M /branches/4.0/src/sec.c
+   M /branches/4.0/src/sech.c
+   M /branches/4.0/src/set.c
+   M /branches/4.0/src/set_d.c
+   M /branches/4.0/src/set_d64.c
+   M /branches/4.0/src/set_dfl_prec.c
+   M /branches/4.0/src/set_exp.c
+   M /branches/4.0/src/set_f.c
+   M /branches/4.0/src/set_float128.c
+   M /branches/4.0/src/set_flt.c
+   M /branches/4.0/src/set_inf.c
+   M /branches/4.0/src/set_ld.c
+   M /branches/4.0/src/set_nan.c
+   M /branches/4.0/src/set_prc_raw.c
+   M /branches/4.0/src/set_prec.c
+   M /branches/4.0/src/set_q.c
+   M /branches/4.0/src/set_rnd.c
+   M /branches/4.0/src/set_si.c
+   M /branches/4.0/src/set_si_2exp.c
+   M /branches/4.0/src/set_sj.c
+   M /branches/4.0/src/set_str.c
+   M /branches/4.0/src/set_str_raw.c
+   M /branches/4.0/src/set_ui.c
+   M /branches/4.0/src/set_ui_2exp.c
+   M /branches/4.0/src/set_uj.c
+   M /branches/4.0/src/set_z.c
+   M /branches/4.0/src/set_z_exp.c
+   M /branches/4.0/src/set_zero.c
+   M /branches/4.0/src/setmax.c
+   M /branches/4.0/src/setmin.c
+   M /branches/4.0/src/setsign.c
+   M /branches/4.0/src/sgn.c
+   M /branches/4.0/src/si_op.c
+   M /branches/4.0/src/signbit.c
+   M /branches/4.0/src/sin.c
+   M /branches/4.0/src/sin_cos.c
+   M /branches/4.0/src/sinh.c
+   M /branches/4.0/src/sinh_cosh.c
+   M /branches/4.0/src/sparc64/mparam.h
+   M /branches/4.0/src/sqr.c
+   M /branches/4.0/src/sqrt.c
+   M /branches/4.0/src/sqrt_ui.c
+   M /branches/4.0/src/stack_interface.c
+   M /branches/4.0/src/strtofr.c
+   M /branches/4.0/src/sub.c
+   M /branches/4.0/src/sub1.c
+   M /branches/4.0/src/sub1sp.c
+   M /branches/4.0/src/sub_d.c
+   M /branches/4.0/src/sub_ui.c
+   M /branches/4.0/src/subnormal.c
+   M /branches/4.0/src/sum.c
+   M /branches/4.0/src/swap.c
+   M /branches/4.0/src/tan.c
+   M /branches/4.0/src/tanh.c
+   M /branches/4.0/src/ubf.c
+   M /branches/4.0/src/uceil_exp2.c
+   M /branches/4.0/src/uceil_log2.c
+   M /branches/4.0/src/ufloor_log2.c
+   M /branches/4.0/src/ui_div.c
+   M /branches/4.0/src/ui_pow.c
+   M /branches/4.0/src/ui_pow_ui.c
+   M /branches/4.0/src/ui_sub.c
+   M /branches/4.0/src/urandom.c
+   M /branches/4.0/src/urandomb.c
+   M /branches/4.0/src/vasprintf.c
+   M /branches/4.0/src/version.c
+   M /branches/4.0/src/volatile.c
+   M /branches/4.0/src/x86/core2/mparam.h
+   M /branches/4.0/src/x86/mparam.h
+   M /branches/4.0/src/x86_64/core2/mparam.h
+   M /branches/4.0/src/x86_64/corei5/mparam.h
+   M /branches/4.0/src/x86_64/pentium4/mparam.h
+   M /branches/4.0/src/yn.c
+   M /branches/4.0/src/zeta.c
+   M /branches/4.0/src/zeta_ui.c
+   M /branches/4.0/tests/Makefile.am
+   M /branches/4.0/tests/cmp_str.c
+   M /branches/4.0/tests/data/digamma
+   M /branches/4.0/tests/data/li2
+   M /branches/4.0/tests/memory.c
+   M /branches/4.0/tests/mpf_compat.c
+   M /branches/4.0/tests/mpf_compat.h
+   M /branches/4.0/tests/mpfr-test.h
+   M /branches/4.0/tests/mpfr_compat.c
+   M /branches/4.0/tests/random2.c
+   M /branches/4.0/tests/reuse.c
+   M /branches/4.0/tests/rnd_mode.c
+   M /branches/4.0/tests/tabort_defalloc1.c
+   M /branches/4.0/tests/tabort_defalloc2.c
+   M /branches/4.0/tests/tabort_prec_max.c
+   M /branches/4.0/tests/tabs.c
+   M /branches/4.0/tests/tacos.c
+   M /branches/4.0/tests/tacosh.c
+   M /branches/4.0/tests/tadd.c
+   M /branches/4.0/tests/tadd1sp.c
+   M /branches/4.0/tests/tadd_d.c
+   M /branches/4.0/tests/tadd_ui.c
+   M /branches/4.0/tests/tagm.c
+   M /branches/4.0/tests/tai.c
+   M /branches/4.0/tests/talloc-cache.c
+   M /branches/4.0/tests/talloc.c
+   M /branches/4.0/tests/tasin.c
+   M /branches/4.0/tests/tasinh.c
+   M /branches/4.0/tests/tassert.c
+   M /branches/4.0/tests/tatan.c
+   M /branches/4.0/tests/tatanh.c
+   M /branches/4.0/tests/taway.c
+   M /branches/4.0/tests/tbeta.c
+   M /branches/4.0/tests/tbuildopt.c
+   M /branches/4.0/tests/tcan_round.c
+   M /branches/4.0/tests/tcbrt.c
+   M /branches/4.0/tests/tcheck.c
+   M /branches/4.0/tests/tcmp.c
+   M /branches/4.0/tests/tcmp2.c
+   M /branches/4.0/tests/tcmp_d.c
+   M /branches/4.0/tests/tcmp_ld.c
+   M /branches/4.0/tests/tcmp_ui.c
+   M /branches/4.0/tests/tcmpabs.c
+   M /branches/4.0/tests/tcomparisons.c
+   M /branches/4.0/tests/tconst_catalan.c
+   M /branches/4.0/tests/tconst_euler.c
+   M /branches/4.0/tests/tconst_log2.c
+   M /branches/4.0/tests/tconst_pi.c
+   M /branches/4.0/tests/tcopysign.c
+   M /branches/4.0/tests/tcos.c
+   M /branches/4.0/tests/tcosh.c
+   M /branches/4.0/tests/tcot.c
+   M /branches/4.0/tests/tcoth.c
+   M /branches/4.0/tests/tcsc.c
+   M /branches/4.0/tests/tcsch.c
+   M /branches/4.0/tests/td_div.c
+   M /branches/4.0/tests/td_sub.c
+   M /branches/4.0/tests/tdigamma.c
+   M /branches/4.0/tests/tdim.c
+   M /branches/4.0/tests/tdiv.c
+   M /branches/4.0/tests/tdiv_d.c
+   M /branches/4.0/tests/tdiv_ui.c
+   M /branches/4.0/tests/teint.c
+   M /branches/4.0/tests/teq.c
+   M /branches/4.0/tests/terandom.c
+   M /branches/4.0/tests/terandom_chisq.c
+   M /branches/4.0/tests/terf.c
+   M /branches/4.0/tests/tests.c
+   M /branches/4.0/tests/texceptions.c
+   M /branches/4.0/tests/texp.c
+   M /branches/4.0/tests/texp10.c
+   M /branches/4.0/tests/texp2.c
+   M /branches/4.0/tests/texpm1.c
+   M /branches/4.0/tests/tfactorial.c
+   M /branches/4.0/tests/tfits.c
+   M /branches/4.0/tests/tfma.c
+   M /branches/4.0/tests/tfmma.c
+   M /branches/4.0/tests/tfmod.c
+   M /branches/4.0/tests/tfms.c
+   M /branches/4.0/tests/tfpif.c
+   M /branches/4.0/tests/tfprintf.c
+   M /branches/4.0/tests/tfrac.c
+   M /branches/4.0/tests/tfrexp.c
+   M /branches/4.0/tests/tgamma.c
+   M /branches/4.0/tests/tgamma_inc.c
+   M /branches/4.0/tests/tgeneric.c
+   M /branches/4.0/tests/tgeneric_ui.c
+   M /branches/4.0/tests/tget_d.c
+   M /branches/4.0/tests/tget_d_2exp.c
+   M /branches/4.0/tests/tget_f.c
+   M /branches/4.0/tests/tget_flt.c
+   M /branches/4.0/tests/tget_ld_2exp.c
+   M /branches/4.0/tests/tget_q.c
+   M /branches/4.0/tests/tget_set_d64.c
+   M /branches/4.0/tests/tget_sj.c
+   M /branches/4.0/tests/tget_str.c
+   M /branches/4.0/tests/tget_z.c
+   M /branches/4.0/tests/tgmpop.c
+   M /branches/4.0/tests/tgrandom.c
+   M /branches/4.0/tests/thyperbolic.c
+   M /branches/4.0/tests/thypot.c
+   M /branches/4.0/tests/tinits.c
+   M /branches/4.0/tests/tinp_str.c
+   M /branches/4.0/tests/tinternals.c
+   M /branches/4.0/tests/tisnan.c
+   M /branches/4.0/tests/tisqrt.c
+   M /branches/4.0/tests/tj0.c
+   M /branches/4.0/tests/tj1.c
+   M /branches/4.0/tests/tjn.c
+   M /branches/4.0/tests/tl2b.c
+   M /branches/4.0/tests/tlgamma.c
+   M /branches/4.0/tests/tli2.c
+   M /branches/4.0/tests/tlngamma.c
+   M /branches/4.0/tests/tlog.c
+   M /branches/4.0/tests/tlog10.c
+   M /branches/4.0/tests/tlog1p.c
+   M /branches/4.0/tests/tlog2.c
+   M /branches/4.0/tests/tlog_ui.c
+   M /branches/4.0/tests/tmin_prec.c
+   M /branches/4.0/tests/tminmax.c
+   M /branches/4.0/tests/tmodf.c
+   M /branches/4.0/tests/tmul.c
+   M /branches/4.0/tests/tmul_2exp.c
+   M /branches/4.0/tests/tmul_d.c
+   M /branches/4.0/tests/tmul_ui.c
+   M /branches/4.0/tests/tnext.c
+   M /branches/4.0/tests/tnrandom.c
+   M /branches/4.0/tests/tnrandom_chisq.c
+   M /branches/4.0/tests/tout_str.c
+   M /branches/4.0/tests/toutimpl.c
+   M /branches/4.0/tests/tpow.c
+   M /branches/4.0/tests/tpow3.c
+   M /branches/4.0/tests/tpow_all.c
+   M /branches/4.0/tests/tpow_z.c
+   M /branches/4.0/tests/tprintf.c
+   M /branches/4.0/tests/trandom.c
+   M /branches/4.0/tests/trandom_deviate.c
+   M /branches/4.0/tests/trec_sqrt.c
+   M /branches/4.0/tests/tremquo.c
+   M /branches/4.0/tests/trint.c
+   M /branches/4.0/tests/trndna.c
+   M /branches/4.0/tests/troot.c
+   M /branches/4.0/tests/trootn_ui.c
+   M /branches/4.0/tests/tround_prec.c
+   M /branches/4.0/tests/tsec.c
+   M /branches/4.0/tests/tsech.c
+   M /branches/4.0/tests/tset.c
+   M /branches/4.0/tests/tset_d.c
+   M /branches/4.0/tests/tset_exp.c
+   M /branches/4.0/tests/tset_f.c
+   M /branches/4.0/tests/tset_float128.c
+   M /branches/4.0/tests/tset_ld.c
+   M /branches/4.0/tests/tset_q.c
+   M /branches/4.0/tests/tset_si.c
+   M /branches/4.0/tests/tset_sj.c
+   M /branches/4.0/tests/tset_str.c
+   M /branches/4.0/tests/tset_z.c
+   M /branches/4.0/tests/tset_z_exp.c
+   M /branches/4.0/tests/tsgn.c
+   M /branches/4.0/tests/tsi_op.c
+   M /branches/4.0/tests/tsin.c
+   M /branches/4.0/tests/tsin_cos.c
+   M /branches/4.0/tests/tsinh.c
+   M /branches/4.0/tests/tsinh_cosh.c
+   M /branches/4.0/tests/tsprintf.c
+   M /branches/4.0/tests/tsqr.c
+   M /branches/4.0/tests/tsqrt.c
+   M /branches/4.0/tests/tsqrt_ui.c
+   M /branches/4.0/tests/tstckintc.c
+   M /branches/4.0/tests/tstdint.c
+   M /branches/4.0/tests/tstrtofr.c
+   M /branches/4.0/tests/tsub.c
+   M /branches/4.0/tests/tsub1sp.c
+   M /branches/4.0/tests/tsub_d.c
+   M /branches/4.0/tests/tsub_ui.c
+   M /branches/4.0/tests/tsubnormal.c
+   M /branches/4.0/tests/tsum.c
+   M /branches/4.0/tests/tswap.c
+   M /branches/4.0/tests/ttan.c
+   M /branches/4.0/tests/ttanh.c
+   M /branches/4.0/tests/ttrunc.c
+   M /branches/4.0/tests/tui_div.c
+   M /branches/4.0/tests/tui_pow.c
+   M /branches/4.0/tests/tui_sub.c
+   M /branches/4.0/tests/turandom.c
+   M /branches/4.0/tests/tvalist.c
+   M /branches/4.0/tests/tversion.c
+   M /branches/4.0/tests/ty0.c
+   M /branches/4.0/tests/ty1.c
+   M /branches/4.0/tests/tyn.c
+   M /branches/4.0/tests/tzeta.c
+   M /branches/4.0/tests/tzeta_ui.c
+   M /branches/4.0/tools/bench/Makefile.am
+   M /branches/4.0/tools/bench/benchtime.h
+   M /branches/4.0/tools/bench/mpfrbench.c
+   M /branches/4.0/tools/ck-clz_tab
+   M /branches/4.0/tools/ck-copyright-notice
+   M /branches/4.0/tools/ck-news
+   M /branches/4.0/tools/ck-version-info
+   M /branches/4.0/tools/get_patches.sh
+   M /branches/4.0/tune/Makefile.am
+   M /branches/4.0/tune/bidimensional_sample.c
+   M /branches/4.0/tune/speed.c
+   M /branches/4.0/tune/tuneup.c
+
+Copyright notice update: added 2019 with
+  perl -pi -e 's/ (\d{4}-)?(2018)(?= Free Software)/
+               " ".($1||"$2-").($2+1)/e' **/*(^/)
+under zsh. Removed 2018 from the example in the doc/README.dev file.
+------------------------------------------------------------------------
+r13357 | vlefevre | 2018-12-31 11:11:10 +0000 (Mon, 31 Dec 2018) | 8 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/set.c
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tfmma.c
+   M /branches/4.0/tests/tset.c
+
+[src/set.c] Fixed double-rounding bug in the internal function
+  mpfr_set_1_2 (and simplified the generic algorithm, avoiding
+  the non-portable inex | inex2).
+[tests/tset.c] Added corresponding tests.
+[tests/tfmma.c] Added tests as this bug was affecting mpfr_fmma
+  (note: mpfr_set_1_2 is also called in mpfr_fma, but the buggy
+  code could not be executed in this case).
+(merged changesets r13346-13347,13353-13356 from the trunk)
+------------------------------------------------------------------------
+r13330 | vlefevre | 2018-12-10 09:24:24 +0000 (Mon, 10 Dec 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tdiv.c
+
+[tests/tdiv.c] fixed test_20151023 (random number must not be 0).
+(merged changeset r13329 from the trunk)
+------------------------------------------------------------------------
+r13310 | vlefevre | 2018-11-29 07:48:54 +0000 (Thu, 29 Nov 2018) | 5 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/Makefile.am
+   M /branches/4.0/tests/tversion.c
+
+[tests/Makefile.am] Unset DISPLAY as it is not needed and it can yield
+error messages when running the tests with LOG_COMPILER=wine (for builds
+with MinGW).
+[tests/tversion.c] Updated a comment about this issue.
+(merged changesets r13305,13307-13309 from the trunk)
+------------------------------------------------------------------------
+r13301 | vlefevre | 2018-11-27 13:17:11 +0000 (Tue, 27 Nov 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tdiv.c
+
+[tests/tdiv.c] Fixed test_20151023().
+(merged changesets r13149,13151,13298 from the trunk)
+------------------------------------------------------------------------
+r13297 | vlefevre | 2018-11-26 13:24:37 +0000 (Mon, 26 Nov 2018) | 2 lines
+Changed paths:
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tset_str.c
+
+[tests/tset_str.c] Added bug20180908() test.
+(merged changesets r13164,13296 from the trunk, for the tests directory)
+------------------------------------------------------------------------
+r13294 | vlefevre | 2018-11-23 10:34:21 +0000 (Fri, 23 Nov 2018) | 1 line
+Changed paths:
+   M /branches/4.0/doc/mpfr.texi
+
+[doc/mpfr.texi] Updated the month.
+------------------------------------------------------------------------
+r13284 | vlefevre | 2018-11-22 15:36:13 +0000 (Thu, 22 Nov 2018) | 4 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/NEWS
+   M /branches/4.0/doc/mpfr.texi
+   M /branches/4.0/src/get_str.c
+
+MPFR manual: corrected/completed the mpfr_get_str description in order
+to follow the historical behavior and GMP's mpf_get_str function.
+(Discussion in the Trier meeting.)
+(merged changeset r13283 from the trunk, with a correction in NEWS)
+------------------------------------------------------------------------
+r13277 | vlefevre | 2018-11-20 08:17:39 +0000 (Tue, 20 Nov 2018) | 1 line
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/amd/amdfam10/mparam.h
+   M /branches/4.0/src/amd/k8/mparam.h
+   M /branches/4.0/src/arm/mparam.h
+   M /branches/4.0/src/generic/coverage/mparam.h
+   M /branches/4.0/src/hppa/mparam.h
+   M /branches/4.0/src/ia64/mparam.h
+   M /branches/4.0/src/mips/mparam.h
+   M /branches/4.0/src/powerpc64/mparam.h
+   M /branches/4.0/src/sparc64/mparam.h
+   M /branches/4.0/src/x86/core2/mparam.h
+   M /branches/4.0/src/x86/mparam.h
+   M /branches/4.0/src/x86_64/core2/mparam.h
+   M /branches/4.0/src/x86_64/corei5/mparam.h
+
+Removed trailing whitespace.
+------------------------------------------------------------------------
+r13252 | vlefevre | 2018-10-18 17:57:10 +0000 (Thu, 18 Oct 2018) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/mpfr-longlong.h
+
+[src/mpfr-longlong.h] Fix obsolete ARC asm constraints; see patch posted
+on <https://sympa.inria.fr/sympa/arc/mpfr/2018-10/msg00010.html>.
+(merged changeset r13251 from the trunk)
+------------------------------------------------------------------------
+r13245 | vlefevre | 2018-10-08 12:50:55 +0000 (Mon, 08 Oct 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/codespell.ignore
+
+[codespell.ignore] Also ignore "ue" (codespell 1.14).
+(merged changeset r13244 from the trunk)
+------------------------------------------------------------------------
+r13187 | vlefevre | 2018-09-13 13:06:47 +0000 (Thu, 13 Sep 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tdiv_ui.c
+
+[tests/tdiv_ui.c] fixed corner_cases() test
+(merged changeset r13162 from the trunk)
+------------------------------------------------------------------------
+r13010 | vlefevre | 2018-08-22 13:52:40 +0000 (Wed, 22 Aug 2018) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tversion.c
+
+[tests/tversion.c] Portability corrections related to the use of the
+preprocessor / code robustness.
+(merged changeset r13003 from the trunk)
+------------------------------------------------------------------------
+r12999 | vlefevre | 2018-08-21 13:18:23 +0000 (Tue, 21 Aug 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tsub1sp.c
+
+[tests/tsub1sp.c] Added a test by merging r12997 from the trunk, and
+modified the comment to say that the bug is only in the trunk.
+------------------------------------------------------------------------
+r12994 | vlefevre | 2018-08-20 07:44:49 +0000 (Mon, 20 Aug 2018) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/mpfr-impl.h
+
+[src/mpfr-impl.h] Added a cast to mp_bitcnt_t in order to fix potential
+integer overflow in MPFR_MPZ_SIZEINBASE2.
+(merged changeset r12988 from the trunk)
+------------------------------------------------------------------------
+r12993 | vlefevre | 2018-08-20 07:40:42 +0000 (Mon, 20 Aug 2018) | 4 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tcan_round.c
+
+[tests/tcan_round.c] Added missing casts for printf (error messages).
+Bug detected under MS Windows, where size_t > unsigned long. See:
+  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00002.html
+(merged changeset r12983 from the trunk)
+------------------------------------------------------------------------
+r12992 | vlefevre | 2018-08-20 06:47:44 +0000 (Mon, 20 Aug 2018) | 22 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/mpfr-longlong.h
+   M /branches/4.0/tools/mpfrlint
+
+[tools/mpfrlint] Check that __GMP_DECLSPEC is not used by MPFR.
+[src/mpfr-longlong.h] Replaced __GMP_DECLSPEC by __MPFR_DECLSPEC.
+
+Otherwise, with Windows DLL, __GMP_DECLSPEC is replaced by
+__declspec(dllimport), which is wrong when building MPFR and
+yields warning LNK4217 such as:
+
+  eint.obj : warning LNK4217: locally defined symbol mpfr_clz_tab
+  imported in function mpfr_eint
+
+due to
+
+  extern const unsigned char __GMP_DECLSPEC __clz_tab[129];
+
+(note that mpfr_clz_tab is defined with "#define __clz_tab mpfr_clz_tab"
+only without the GMP build).
+
+See:
+  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00000.html
+  https://sympa.inria.fr/sympa/arc/mpfr/2018-08/msg00001.html
+
+(merged changesets r12975-12977 from the trunk)
+------------------------------------------------------------------------
+r12969 | vlefevre | 2018-07-31 09:01:08 +0000 (Tue, 31 Jul 2018) | 3 lines
+Changed paths:
+   M /branches/4.0/tests/tversion.c
+
+[tests/tversion.c] Updated comment about missing output from the
+first printf with i586-mingw32msvc-gcc -D__USE_MINGW_ANSI_STDIO
+and run under Wine (issue not reproducible).
+------------------------------------------------------------------------
+r12968 | vlefevre | 2018-07-30 16:31:52 +0000 (Mon, 30 Jul 2018) | 2 lines
+Changed paths:
+   M /branches/4.0/tests/tversion.c
+
+[tests/tversion.c] Try to detect missing output from the first printf
+with i586-mingw32msvc-gcc -D__USE_MINGW_ANSI_STDIO and run under Wine.
+------------------------------------------------------------------------
+r12967 | vlefevre | 2018-07-30 13:43:03 +0000 (Mon, 30 Jul 2018) | 5 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/acinclude.m4
+   M /branches/4.0/configure.ac
+   M /branches/4.0/src/vasprintf.c
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tsprintf.c
+
+[acinclude.m4,configure.ac] Check the support of the group flag for
+  native integers, which is a Single UNIX Specification extension.
+[src/vasprintf.c] Fixed bug with the P length modifier (mpfr_prec_t).
+[tests/tsprintf.c] Added testcases.
+(merged changesets r12958-12959,12961-12964 from the trunk)
+------------------------------------------------------------------------
+r12966 | vlefevre | 2018-07-30 13:34:14 +0000 (Mon, 30 Jul 2018) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/vasprintf.c
+
+[src/vasprintf.c] Bug fix: in case of some errors (via "goto error;"),
+va_end wasn't called, yielding undefined behavior.
+(reverse-merged r12965; merged changesets r12955,12957 from the trunk)
+------------------------------------------------------------------------
+r12965 | vlefevre | 2018-07-30 09:32:15 +0000 (Mon, 30 Jul 2018) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/vasprintf.c
+
+[src/vasprintf.c] Fixed "store to null pointer" and free of bad pointer
+in case of error.
+(merged part of changeset r12957 from the trunk)
+------------------------------------------------------------------------
+r12950 | vlefevre | 2018-07-23 08:17:05 +0000 (Mon, 23 Jul 2018) | 8 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/erf.c
+   M /branches/4.0/tests
+   M /branches/4.0/tests/terf.c
+
+[src/erf.c] In the computation of an error bound, replaced some
+  double's (which could overflow) by mpfr_t to fix bug reported
+  by Naoki Shibata:
+  https://sympa.inria.fr/sympa/arc/mpfr/2018-07/msg00028.html
+[tests/terf.c] Added a testcase for this bug. Increased the number
+  of generic tests in order to reproduce the bug there too with the
+  default seed.
+(merged changesets r12946-12949 from the trunk)
+------------------------------------------------------------------------
+r12938 | vlefevre | 2018-07-19 00:01:28 +0000 (Thu, 19 Jul 2018) | 11 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/acinclude.m4
+   M /branches/4.0/configure.ac
+   M /branches/4.0/doc/README.dev
+   M /branches/4.0/src/buildopt.c
+   M /branches/4.0/src/free_cache.c
+   M /branches/4.0/src/mpfr-impl.h
+   M /branches/4.0/src/mpfr-thread.h
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tconst_pi.c
+   M /branches/4.0/tests/tversion.c
+
+Shared caches: fix and minor changes.
+  * Fixed detection and use of C11 thread support: the C11 header is
+    <threads.h>, not <thread.h>.
+  * Renamed WANT_SHARED_CACHE to MPFR_WANT_SHARED_CACHE for consistency
+    with the other MPFR_WANT_* macros.
+  * Added MPFR_THREAD_LOCK_METHOD macro, giving the thread locking
+    method as a string (when shared caches are enabled).
+  * doc/README.dev: documented 4 macros for shared caches.
+  * tests/tversion.c: output MPFR_WANT_SHARED_CACHE and
+    MPFR_THREAD_LOCK_METHOD information.
+(merged changeset r12937 from the trunk)
+------------------------------------------------------------------------
+r12936 | vlefevre | 2018-07-18 23:17:03 +0000 (Wed, 18 Jul 2018) | 4 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tconst_pi.c
+
+[tests/tconst_pi.c] Removed an incorrect assertion, as the #else would
+be applicable when WANT_SHARED_CACHE is defined but not HAVE_PTHREAD
+(which may occur when MPFR_HAVE_C11_LOCK is defined).
+(merged changeset r12935 from the trunk)
+------------------------------------------------------------------------
+r12923 | vlefevre | 2018-07-13 10:31:07 +0000 (Fri, 13 Jul 2018) | 4 lines
+Changed paths:
+   M /branches/4.0/acinclude.m4
+
+[acinclude.m4] Fixed the __float128 detection for NetBSD: Optimization
+made the "undefined reference" error disappear, so that __float128 was
+misdetected as being supported. Also updated the message.
+Note: this change is similar to the r12921-12922 ones in the trunk.
+------------------------------------------------------------------------
+r12918 | vlefevre | 2018-07-12 15:05:07 +0000 (Thu, 12 Jul 2018) | 1 line
+Changed paths:
+   M /branches/4.0/NEWS
+
+[NEWS] Update for GNU MPFR 4.0.2.
+------------------------------------------------------------------------
+r12917 | vlefevre | 2018-07-12 15:04:17 +0000 (Thu, 12 Jul 2018) | 6 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/doc/mpfr.texi
+
+[doc/mpfr.texi] In Section "Nomenclature and Types":
+  * rewrote the paragraph defining "floating-point number",
+    avoiding ambiguities;
+  * removed all the @noindent, whose purpose is unclear;
+  * defined regular numbers and exponents.
+(merged changesets r12906-12908 from the trunk)
+------------------------------------------------------------------------
+r12916 | vlefevre | 2018-07-12 14:32:51 +0000 (Thu, 12 Jul 2018) | 7 lines
+Changed paths:
+   M /branches/4.0/acinclude.m4
+
+[acinclude.m4] For the __float128 detection, changed AC_COMPILE_IFELSE
+to AC_LINK_IFELSE since an error may occur only at link time, such as
+under NetBSD:
+  https://mail-index.netbsd.org/pkgsrc-users/2018/02/02/msg026220.html
+  https://mail-index.netbsd.org/pkgsrc-users/2018/02/05/msg026238.html
+Note: this change is similar to the r12915 one in the trunk, except
+that we do not try to detect _Float128 in the 4.0 branch.
+------------------------------------------------------------------------
+r12914 | vlefevre | 2018-07-12 12:32:16 +0000 (Thu, 12 Jul 2018) | 5 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/Makefile.am
+
+[src/Makefile.am] Corrected check-exported-symbols to avoid a failure
+when the default .SHELLFLAGS value is '-ec' (POSIX) instead of '-c'
+(GNU Make, which is not in POSIX-conforming mode by default).
+Bug found on FreeBSD 11.1 (Compile Farm @ HouseGordon.com).
+(merged changeset r12913 from the trunk)
+------------------------------------------------------------------------
+r12909 | vlefevre | 2018-07-10 11:51:56 +0000 (Tue, 10 Jul 2018) | 22 lines
+Changed paths:
+   M /branches/4.0/src/vasprintf.c
+
+[src/vasprintf.c] Fixed several bugs in buffer_sandwich, which could
+yield memory corruption with non-default memory allocators and other
+undefined behavior; check the return value when this function is called.
+
+Details:
+  * check integer overflow on the size computations;
+  * computation of q and r without tests;
+  * fixed the case where r > len (e.g. len = 1 and tz = 1);
+  * in the loop, increase the str pointer only when needed, otherwise
+    str could be beyond of the end of the string of the digits, which
+    is undefined behavior.
+
+The first consequence of the r > len issue was an incorrect generated
+string. Moreover, since the generated string was shorter than expected,
+mpfr_free_str would provide an incorrect buffer size to the "free"
+function of the current GMP memory allocator. By default, this size is
+ignored, but it may matter if the memory allocators have been changed
+with the mp_set_memory_functions GMP function, in which case a possible
+consequence could be memory corruption.
+
+Note: This corresponds to r12869 from the trunk. Other changes in the
+trunk (dead code removal...) have not been applied.
+------------------------------------------------------------------------
+r12904 | vlefevre | 2018-07-06 14:36:05 +0000 (Fri, 06 Jul 2018) | 2 lines
+Changed paths:
+   M /branches/4.0/tests/tprintf.c
+   M /branches/4.0/tests/tsprintf.c
+
+[tests/{tprintf.c,tsprintf.c}] Merged the latest tests from the trunk
+(r12562:12903).
+------------------------------------------------------------------------
+r12897 | vlefevre | 2018-07-06 13:27:41 +0000 (Fri, 06 Jul 2018) | 1 line
+Changed paths:
+   M /branches/4.0/doc/mpfr.texi
+
+[doc/mpfr.texi] Updated the month.
+------------------------------------------------------------------------
+r12890 | vlefevre | 2018-07-06 07:21:18 +0000 (Fri, 06 Jul 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/AUTHORS
+   M /branches/4.0/doc/mpfr.texi
+
+[AUTHORS,doc/mpfr.texi] Typo in Fredrik's name.
+(merged changesets r12888-12889 from the trunk)
+------------------------------------------------------------------------
+r12872 | vlefevre | 2018-07-04 12:04:26 +0000 (Wed, 04 Jul 2018) | 5 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/doc/README.dev
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tprintf.c
+   M /branches/4.0/tests/tsprintf.c
+
+Added MPFR_CHECK_LOCALES environment variable for the tests (to be
+used by developers): when set, terminate with an error if locales
+cannot be tested.
+(merged changeset r12870 from the trunk; merging tests/tprintf.c r12861
+was needed first)
+------------------------------------------------------------------------
+r12793 | vlefevre | 2018-06-20 12:17:11 +0000 (Wed, 20 Jun 2018) | 2 lines
+Changed paths:
+   M /branches/4.0/tests/tget_set_d64.c
+
+[tests/tget_set_d64.c] Tests on powers of 10: test negative numbers too.
+(merged part of changeset r12792 from the trunk)
+------------------------------------------------------------------------
+r12786 | vlefevre | 2018-06-19 13:10:42 +0000 (Tue, 19 Jun 2018) | 5 lines
+Changed paths:
+   M /branches/4.0/src/set_d64.c
+   M /branches/4.0/tests/tget_set_d64.c
+
+[src/set_d64.c] Fixed ternary value, which was always 0. This is done by
+  using mpfr_strtofr instead of mpfr_set_str (merged part of changeset
+  r12783 from the trunk).
+[tests/tget_set_d64.c] Added tests on powers of 10, checking the ternary
+  value in particular (merged part of changeset r12782 from the trunk).
+------------------------------------------------------------------------
+r12785 | vlefevre | 2018-06-19 12:55:53 +0000 (Tue, 19 Jun 2018) | 5 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tstckintc.c
+
+[tests/tstckintc.c] Avoid false warnings with -Wcast-align=strict from
+GCC 8.1 by adding casts "(long *) (void *)", still allowing checks of
+other alignment requirements (which are not handled by the tstckintc.c
+code).
+(merged changeset r12698 from the trunk)
+------------------------------------------------------------------------
+r12760 | vlefevre | 2018-06-06 11:05:33 +0000 (Wed, 06 Jun 2018) | 6 lines
+Changed paths:
+   M /branches/4.0
+   A /branches/4.0/codespell.exclude (from /trunk/codespell.exclude:12754)
+   M /branches/4.0/codespell.ignore
+   M /branches/4.0/tools/mpfrlint
+
+codespell: simplified exceptions.
+  * Added codespell.exclude file.
+  * codespell.ignore: removed some words (particular cases).
+  * tools/mpfrlint: use the codespell.exclude exclude file, and for
+    the doc directory, replaced -S by an explicit list of files.
+(merged changesets r12486,12497,12753-12754 from the trunk)
+------------------------------------------------------------------------
+r12750 | vlefevre | 2018-06-02 22:22:50 +0000 (Sat, 02 Jun 2018) | 4 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/invert_limb.h
+
+[src/invert_limb.h] fixed two typos reported by Marco Bodrato.
+Note that with the current MPFR code, these typos did not have
+any consequence.
+(merged changeset r12749 from the trunk)
+------------------------------------------------------------------------
+r12743 | vlefevre | 2018-05-31 14:47:16 +0000 (Thu, 31 May 2018) | 1 line
+Changed paths:
+   M /branches/4.0/doc/mpfr.texi
+
+[doc/mpfr.texi] Updated the month.
+------------------------------------------------------------------------
+r12741 | vlefevre | 2018-05-31 14:41:37 +0000 (Thu, 31 May 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/AUTHORS
+   M /branches/4.0/INSTALL
+   M /branches/4.0/doc/algorithms.tex
+   M /branches/4.0/doc/mpfr.texi
+   M /branches/4.0/examples/sample.c
+   M /branches/4.0/mpfr.pc.in
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tests.c
+   M /branches/4.0/tools/cfarm.sh
+   M /branches/4.0/tools/update-version
+
+Updated mpfr.org URL's to use https (except in ChangeLog and NEWS).
+(marked changeset r12740 as merged from the trunk)
+------------------------------------------------------------------------
+r12736 | vlefevre | 2018-05-30 17:45:00 +0000 (Wed, 30 May 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tools/announce-text
+
+[tools/announce-text] http → https (for mpfr.org).
+(merged changeset r12734 from the trunk)
+------------------------------------------------------------------------
+r12735 | vlefevre | 2018-05-30 17:44:10 +0000 (Wed, 30 May 2018) | 6 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/doc/FAQ.html
+   M /branches/4.0/doc/faq.xsl
+   M /branches/4.0/doc/update-faq
+
+[doc] Changes due to the https support by mpfr.org.
+  * faq.xsl: for the visual.css, use a local URL since libxml2 does not
+    support https.
+  * update-faq: download visual.css from mpfr.org first.
+  * FAQ.html: update with update-faq.
+(merged changesets r12731-12733 from the trunk)
+------------------------------------------------------------------------
+r12680 | vlefevre | 2018-04-26 15:33:52 +0000 (Thu, 26 Apr 2018) | 8 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/inp_str.c
+   M /branches/4.0/src/out_str.c
+
+[src/{inp_str.c,out_str.c}] For mpfr_inp_str and mpfr_out_str, when
+the stream was a null pointer, it was replaced by stdin and stdout,
+respectively. No longer do that, since:
+  * This behavior was useless, not documented, and not consistent
+    with other I/O functions.
+  * Just in case a null pointer for the stream has a special meaning
+    with some C implementation, MPFR was not behaving as documented.
+(merged changesets r12520-12521 from the trunk)
+------------------------------------------------------------------------
+r12679 | vlefevre | 2018-04-26 15:17:30 +0000 (Thu, 26 Apr 2018) | 6 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/gmp_op.c
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tgmpop.c
+
+[src/gmp_op.c] Fixed a bug in mpfr_cmp_q on NaN rational: the NaN flag
+  was set by mpfr_set_q, but the flags were not restored just after.
+[tests/tgmpop.c] For mpfr_cmp_q, improved the test where x is NaN by
+  checking all the flags (not just erange) and added a test where y is
+  a NaN rational.
+(merged changesets r12343,12677 from the trunk)
+------------------------------------------------------------------------
+r12675 | vlefevre | 2018-04-26 13:13:57 +0000 (Thu, 26 Apr 2018) | 1 line
+Changed paths:
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tcan_round.c
+   M /branches/4.0/tests/tconst_pi.c
+   M /branches/4.0/tests/tfpif.c
+   M /branches/4.0/tests/tgrandom.c
+   M /branches/4.0/tests/tpow.c
+   M /branches/4.0/tests/ttan.c
+
+Merged recent tests from the trunk (r12500-12555,12558,12561).
+------------------------------------------------------------------------
+r12674 | vlefevre | 2018-04-26 12:59:37 +0000 (Thu, 26 Apr 2018) | 5 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/Makefile.am
+
+[tests/Makefile.am] Update of the "check" rule:
+  * Output svnversion info when applicable.
+  * Do not echo (complex) commands.
+  * Do not output a useless "PASS ..." line at the end.
+(merged changesets r12535-12536 from the trunk)
+------------------------------------------------------------------------
+r12664 | vlefevre | 2018-04-25 15:06:34 +0000 (Wed, 25 Apr 2018) | 4 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/gmp_op.c
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tgmpop.c
+
+[src/gmp_op.c] Fixed bug in mpfr_cmp_q when the denominator of the
+  mpq_t argument is 0.
+[tests/tgmpop.c] Added tests.
+(merged changesets r12499,12502 from the trunk)
+------------------------------------------------------------------------
+r12663 | vlefevre | 2018-04-25 15:00:21 +0000 (Wed, 25 Apr 2018) | 1 line
+Changed paths:
+   M /branches/4.0/doc/mpfr.texi
+
+[doc/mpfr.texi] Updated the month.
+------------------------------------------------------------------------
+r12662 | vlefevre | 2018-04-25 14:45:45 +0000 (Wed, 25 Apr 2018) | 1 line
+Changed paths:
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tdiv_ui.c
+   M /branches/4.0/tests/tfma.c
+   M /branches/4.0/tests/tget_str.c
+
+Merged recent tests from the trunk (r12435-12453).
+------------------------------------------------------------------------
+r12642 | vlefevre | 2018-04-19 15:51:55 +0000 (Thu, 19 Apr 2018) | 13 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/doc/mpfr.texi
+   M /branches/4.0/src/get_str.c
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tget_str.c
+
+Fixed an issue with mpfr_get_str: The number 1 of significant digits
+output in the string is now fully supported, i.e.
+  * the value 1 can be provided for n (4th argument);
+  * if n = 0, then the number of significant digits in the output string
+    can now be 1, as already implied by the documentation (but the code
+    was increasing it to 2).
+Changes:
+  * doc/mpfr.texi: updated mpfr_get_str description to accept n = 1.
+  * src/get_str.c: fixed the code as explained above (for n = 0,
+    removed the increase to 2, and removed an MPFR_ASSERTN).
+  * tests/tget_str.c: added tests.
+(merged changesets from the trunk: r12430 on tests/tget_str.c only;
+r12432,12434,12440)
+------------------------------------------------------------------------
+r12632 | vlefevre | 2018-04-19 13:33:00 +0000 (Thu, 19 Apr 2018) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tget_flt.c
+
+[tests/tget_flt.c] Correction about the use of mpfr_signbit, in case
+the implementation would change.
+(merged changeset r12631 from the trunk)
+------------------------------------------------------------------------
+r12630 | vlefevre | 2018-04-19 13:28:19 +0000 (Thu, 19 Apr 2018) | 1 line
+Changed paths:
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tbuildopt.c
+   M /branches/4.0/tests/tfma.c
+   M /branches/4.0/tests/tget_flt.c
+   M /branches/4.0/tests/tget_q.c
+   M /branches/4.0/tests/tget_set_d64.c
+   M /branches/4.0/tests/tset_z_exp.c
+
+Merged recent tests from the trunk (r12393-12424).
+------------------------------------------------------------------------
+r12629 | vlefevre | 2018-04-19 13:17:34 +0000 (Thu, 19 Apr 2018) | 4 lines
+Changed paths:
+   M /branches/4.0/src/sqr.c
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tsqr.c
+
+[src/sqr.c] Fixed a bug in mpfr_sqr_1n in a rare case near underflow.
+[tests/tsqr.c] Added tests, including non-regression for above bug
+(manually patched src/sqr.c since r12398 had other, unrelated changes;
+merged changesets r12398-12399 on tests/tsqr.c from the trunk)
+------------------------------------------------------------------------
+r12624 | vlefevre | 2018-04-19 12:24:18 +0000 (Thu, 19 Apr 2018) | 4 lines
+Changed paths:
+   M /branches/4.0/src/fma.c
+   M /branches/4.0/tests/tfma.c
+
+[src/fma.c] Fixed various bugs related to internal overflows/underflows.
+[tests/tfma.c] Added tests.
+(merged changesets r12393-12405,12583-12623 on these files from the
+trunk)
+------------------------------------------------------------------------
+r12581 | vlefevre | 2018-04-11 15:17:16 +0000 (Wed, 11 Apr 2018) | 8 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/terf.c
+   M /branches/4.0/tests/tpow.c
+   M /branches/4.0/tests/tpow_z.c
+
+[tests] Removed some useless #include's, in particular all the
+unconditional #include <math.h> occurrences.
+Note: There is an incompatibility between glibc 2.27 and the math.h
+provided by ICC 15 (at least), and this solves a compilation failure
+in the build of the tests.
+Moreover, <math.h> is not required by freestanding implementations,
+so that it may be better to avoid it if possible.
+(merged changeset r12488 from the trunk)
+------------------------------------------------------------------------
+r12580 | vlefevre | 2018-04-11 14:03:03 +0000 (Wed, 11 Apr 2018) | 3 lines
+Changed paths:
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tmul.c
+
+[tests] Merged the test from r12348, and replaced MUL_FFT_THRESHOLD
+by its default value 8448 (since the definition of MUL_FFT_THRESHOLD
+has not been moved in the 4.0 branch).
+------------------------------------------------------------------------
+r12579 | vlefevre | 2018-04-11 13:54:39 +0000 (Wed, 11 Apr 2018) | 1 line
+Changed paths:
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tagm.c
+   M /branches/4.0/tests/tai.c
+   M /branches/4.0/tests/tdiv.c
+   M /branches/4.0/tests/tgmpop.c
+   M /branches/4.0/tests/tmul.c
+   M /branches/4.0/tests/tmul_2exp.c
+   M /branches/4.0/tests/tsqrt.c
+   M /branches/4.0/tests/tsub.c
+   M /branches/4.0/tests/tzeta.c
+
+Merged recent tests from the trunk (r12288-12347).
+------------------------------------------------------------------------
+r12578 | vlefevre | 2018-04-11 13:16:15 +0000 (Wed, 11 Apr 2018) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/mul.c
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tset_ld.c
+   M /branches/4.0/tests/tsub1sp.c
+
+Fixed type errors with -D_MPFR_PREC_FORMAT=2 in CFLAGS and the
+--enable-assert=full configure option (signaled by GCC's -Wformat).
+(merged changesets r12301-12302 from the trunk)
+------------------------------------------------------------------------
+r12577 | vlefevre | 2018-04-11 13:06:53 +0000 (Wed, 11 Apr 2018) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tversion.c
+
+[tests/tversion.c] Output the sizes of long and intmax_t, and
+"Generic ABI code" info (MPFR_GENERIC_ABI).
+(merged changesets r12447,12575 from the trunk)
+------------------------------------------------------------------------
+r12576 | vlefevre | 2018-04-11 13:02:27 +0000 (Wed, 11 Apr 2018) | 4 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/sub1sp.c
+
+[src/sub1sp.c] fixed bug in mpfr_sub1sp1n (corner case when a=c).
+This fixes the failures from r12288.
+(merged changeset r12285 from the trunk; note that the merge for
+the tests directory had already been done via r12288)
+------------------------------------------------------------------------
+r12480 | vlefevre | 2018-03-14 10:33:01 +0000 (Wed, 14 Mar 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/src/mpfr-impl.h
+
+[src/mpfr-impl.h] Typo in a comment.
+(merged changeset r12421 from the trunk)
+------------------------------------------------------------------------
+r12475 | vlefevre | 2018-03-09 23:12:04 +0000 (Fri, 09 Mar 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/TODO
+   M /branches/4.0/doc/mpfr.texi
+   M /branches/4.0/src/atan.c
+   M /branches/4.0/src/cache.c
+   M /branches/4.0/src/fpif.c
+   M /branches/4.0/src/get_flt.c
+   M /branches/4.0/src/mpfr.h
+   M /branches/4.0/src/sum.c
+   M /branches/4.0/tests
+   M /branches/4.0/tests/terandom_chisq.c
+   M /branches/4.0/tests/tnrandom_chisq.c
+
+Fixed spelling mistakes found by codespell 1.12.0.
+(merged changeset r12474 from the trunk)
+------------------------------------------------------------------------
+r12470 | vlefevre | 2018-03-08 02:42:59 +0000 (Thu, 08 Mar 2018) | 6 lines
+Changed paths:
+   M /branches/4.0
+   A /branches/4.0/codespell.ignore (from /trunk/codespell.ignore:12469)
+   M /branches/4.0/doc/README.dev
+   M /branches/4.0/src/li2.c
+   M /branches/4.0/src/mpfr-gmp.h
+   M /branches/4.0/src/mpfr-thread.h
+   M /branches/4.0/src/vasprintf.c
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tgmpop.c
+   M /branches/4.0/tests/tset_ld.c
+   M /branches/4.0/tools/mpfrlint
+
+Added codespell.ignore file with simple words to ignore with codespell
+("cas"; "iff" as used in math; "nd" as the n comes from \n in printf,
+but nd could also be a variable name; "te" as used as a variable name).
+Updated tools/mpfrlint to use this file with codespell.
+Fixed spelling mistakes found by codespell 1.11.0.
+(merged changesets r12467-12469 from the trunk)
+------------------------------------------------------------------------
+r12465 | vlefevre | 2018-03-05 14:43:39 +0000 (Mon, 05 Mar 2018) | 1 line
+Changed paths:
+   M /branches/4.0/doc/mpfr.texi
+
+[doc/mpfr.texi] Updated the month.
+------------------------------------------------------------------------
+r12463 | vlefevre | 2018-03-05 10:46:53 +0000 (Mon, 05 Mar 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/doc/mpfr.texi
+
+[doc/mpfr.texi] Typographic corrections for mpfr_subnormalize.
+(merged changeset r12462 from the trunk)
+------------------------------------------------------------------------
+r12431 | vlefevre | 2018-02-23 17:00:13 +0000 (Fri, 23 Feb 2018) | 2 lines
+Changed paths:
+   M /branches/4.0/src/get_sj.c
+
+[src/get_sj.c] And now that the incorrect assertions have been removed,
+the condition sh >= 0 needs to be fixed to sh > 0...
+------------------------------------------------------------------------
+r12428 | vlefevre | 2018-02-23 16:24:21 +0000 (Fri, 23 Feb 2018) | 2 lines
+Changed paths:
+   M /branches/4.0/src/get_sj.c
+
+[src/get_sj.c] Removed unnecessary condition sh < GMP_NUMB_BITS, which
+is incorrect with some C implementations. It came from r7047.
+------------------------------------------------------------------------
+r12288 | vlefevre | 2018-02-17 10:50:29 +0000 (Sat, 17 Feb 2018) | 3 lines
+Changed paths:
+   M /branches/4.0/tests
+   M /branches/4.0/tests/tadd1sp.c
+   M /branches/4.0/tests/tfmma.c
+   M /branches/4.0/tests/tmul_2exp.c
+   M /branches/4.0/tests/tsub.c
+   M /branches/4.0/tests/tsub1sp.c
+
+Merged the latest tests from the trunk (r12258-12287).
+tsub and tsub1sp fail (bug fixed in the trunk) with both 32-bit and
+64-bit ABI's, except when MPFR is built with "-DMPFR_GENERIC_ABI".
+------------------------------------------------------------------------
+r12258 | vlefevre | 2018-02-16 02:29:27 +0000 (Fri, 16 Feb 2018) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests/tsub.c
+
+[tests/tsub.c] Added bug20180216 test currently failing in the trunk
+in r12257.
+(merged changesets r12256-12257 from the trunk)
+------------------------------------------------------------------------
+r12247 | vlefevre | 2018-02-15 14:31:18 +0000 (Thu, 15 Feb 2018) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests/tsub.c
+
+[tests/tsub.c] Added bug20180215 test currently failing in the trunk
+in r12243.
+(merged changeset r12246 from the trunk)
+------------------------------------------------------------------------
+r12224 | vlefevre | 2018-02-13 12:17:25 +0000 (Tue, 13 Feb 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests/tadd.c
+
+[tests/tadd.c] Added 2 tests that were failing in the trunk in r12220.
+(merged changeset r12221 from the trunk)
+------------------------------------------------------------------------
+r12216 | vlefevre | 2018-02-08 02:11:23 +0000 (Thu, 08 Feb 2018) | 5 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/tests/tfits.c
+   M /branches/4.0/tests/tfprintf.c
+   M /branches/4.0/tests/tget_set_d64.c
+   M /branches/4.0/tests/tget_sj.c
+   M /branches/4.0/tests/tprintf.c
+   M /branches/4.0/tests/tset_float128.c
+   M /branches/4.0/tests/tset_ld.c
+   M /branches/4.0/tests/tset_sj.c
+   M /branches/4.0/tests/tsprintf.c
+   M /branches/4.0/tests/tversion.c
+
+[tests]
+  * tset_float128.c, tset_ld.c: removed obsolete WITH_FPU_CONTROL
+    related code.
+  * Added/updated comments about the config.h inclusion.
+(merged changesets r12214-12215 from the trunk)
+------------------------------------------------------------------------
+r12213 | vlefevre | 2018-02-07 23:39:15 +0000 (Wed, 07 Feb 2018) | 2 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/INSTALL
+
+[INSTALL] Updated GMP URL.
+(merged changeset r12212 from the trunk)
+------------------------------------------------------------------------
+r12211 | vlefevre | 2018-02-07 23:34:18 +0000 (Wed, 07 Feb 2018) | 1 line
+Changed paths:
+   M /branches/4.0/NEWS
+
+[NEWS] Update for GNU MPFR 4.0.2.
+------------------------------------------------------------------------
+r12209 | vlefevre | 2018-02-07 23:31:36 +0000 (Wed, 07 Feb 2018) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/doc/mpfr.texi
+   M /branches/4.0/tools/mpfrlint
+
+[doc/mpfr.texi] Corrected minimal GMP version.
+[tools/mpfrlint] Updated test to detect minimal GMP version mismatch.
+(merged changeset r12208 from the trunk)
+------------------------------------------------------------------------
+r12207 | vlefevre | 2018-02-07 23:22:44 +0000 (Wed, 07 Feb 2018) | 3 lines
+Changed paths:
+   M /branches/4.0
+   M /branches/4.0/INSTALL
+   M /branches/4.0/tools/mpfrlint
+
+[INSTALL] Corrected minimal GMP version (thanks to David Edelsohn).
+[tools/mpfrlint] Added a test to detect minimal GMP version mismatch.
+(merged changeset r12206 from the trunk)
+------------------------------------------------------------------------
+r12203 | vlefevre | 2018-02-07 16:18:16 +0000 (Wed, 07 Feb 2018) | 1 line
+Changed paths:
+   M /branches/4.0/INSTALL
+   M /branches/4.0/VERSION
+   M /branches/4.0/configure.ac
+   M /branches/4.0/doc/mpfr.texi
+   M /branches/4.0/src/mpfr.h
+   M /branches/4.0/src/version.c
+
+Updated version to 4.0.2-dev.
+------------------------------------------------------------------------
+r12201 | vlefevre | 2018-02-07 12:52:40 +0000 (Wed, 07 Feb 2018) | 1 line
+Changed paths:
+   M /branches/4.0/ChangeLog
+
+ChangeLog update with "TZ=UTC svn log -rHEAD:0 -v" (in UTF-8 locales).
+------------------------------------------------------------------------
 r12200 | vlefevre | 2018-02-07 12:50:31 +0000 (Wed, 07 Feb 2018) | 1 line
 Changed paths:
    M /branches/4.0/VERSION
@@ -3729,7 +5933,7 @@ Changed paths:
 [configure.ac] Under Linux, make sure that the old dtags are used
 if LD_LIBRARY_PATH is defined, avoiding the following issue:
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859732
-  http://lists.gnu.org/archive/html/libtool/2017-05/msg00000.html
+  https://lists.gnu.org/archive/html/libtool/2017-05/msg00000.html
 (merged changeset r11587 from the 3.1 branch)
 ------------------------------------------------------------------------
 r11586 | vlefevre | 2017-07-10 11:53:17 +0000 (Mon, 10 Jul 2017) | 1 line
@@ -10090,7 +12294,7 @@ Changed paths:
    M /trunk/src/get_ld.c
    M /trunk/src/set_ld.c
 
-[src/cmp_ld.c] include float.h so that MPFR_LDBL_MANT_DIG is correcly defined
+[src/cmp_ld.c] include float.h so that MPFR_LDBL_MANT_DIG is correctly defined
 [src/get_ld.c,src/set_ld.c] added comment
 
 ------------------------------------------------------------------------
@@ -17645,7 +19849,7 @@ Changed paths:
    A /trunk/libtool-tcc-rpath.patch
 
 Added libtool-tcc-rpath.patch from
-  http://lists.gnu.org/archive/html/libtool-patches/2015-05/msg00000.html
+  https://lists.gnu.org/archive/html/libtool-patches/2015-05/msg00000.html
 so that tcc can be used with libtool 2.4.3 to 2.4.6.
 In doc/README.dev, documented how to use this patch (before a release).
 ------------------------------------------------------------------------
@@ -19676,8 +21880,8 @@ Changed paths:
    M /trunk/doc/README.dev
 
 [doc/README.dev] Completed the note about GCC's sanitizer. See
-  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44786 (sanitizer)
-  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60275 (no recover)
+  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44786 (sanitizer)
+  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60275 (no recover)
 ------------------------------------------------------------------------
 r9043 | vlefevre | 2014-04-25 08:30:38 +0000 (Fri, 25 Apr 2014) | 1 line
 Changed paths:
@@ -22820,7 +25024,7 @@ Changed paths:
 [src/mpfr-sassert.h] Get rid of annoying warnings
   typedef 'MPFR_ASSERT_xxx' locally defined but not used
 with GCC 4.8+ (better than the non-portable solution r8618). Thanks to
-Jonathan Wakely: http://gcc.gnu.org/ml/gcc-help/2013-07/msg00142.html
+Jonathan Wakely: https://gcc.gnu.org/ml/gcc-help/2013-07/msg00142.html
 ------------------------------------------------------------------------
 r8624 | zimmerma | 2013-07-22 12:06:18 +0000 (Mon, 22 Jul 2013) | 4 lines
 Changed paths:
@@ -23881,7 +26085,7 @@ Changed paths:
    M /trunk/tune/tuneup.c
 
 Use copyright year ranges, following
-  http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices
+  https://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices
 ------------------------------------------------------------------------
 r8537 | vlefevre | 2013-05-30 13:51:01 +0000 (Thu, 30 May 2013) | 1 line
 Changed paths:
@@ -31033,7 +33237,7 @@ r7525 | demengeo | 2011-03-04 17:57:53 +0000 (Fri, 04 Mar 2011) | 1 line
 Changed paths:
    M /trunk/tests/trint.c
 
-Previous extented coverage test in trint.c now self generate tests in and compare values
+Previous extended coverage test in trint.c now self generate tests in and compare values
 ------------------------------------------------------------------------
 r7524 | demengeo | 2011-03-04 14:14:13 +0000 (Fri, 04 Mar 2011) | 1 line
 Changed paths:
@@ -39152,7 +41356,7 @@ Changed paths:
    M /trunk/tests/Makefile.am
 
 Makefile.am, tests/Makefile.am: patch from Ralf Wildenhues.
-http://lists.gnu.org/archive/html/bug-automake/2009-09/msg00033.html
+https://lists.gnu.org/archive/html/bug-automake/2009-09/msg00033.html
 ------------------------------------------------------------------------
 r6475 | vlefevre | 2009-09-18 15:00:09 +0000 (Fri, 18 Sep 2009) | 1 line
 Changed paths:
@@ -41803,7 +44007,7 @@ r6104 | lfousse | 2009-03-15 20:44:23 +0000 (Sun, 15 Mar 2009) | 2 lines
 Changed paths:
    M /trunk/mpfr.h
 
-Add protoype for mpfr_min_prec in mpfr.h.
+Add prototype for mpfr_min_prec in mpfr.h.
 
 ------------------------------------------------------------------------
 r6103 | lfousse | 2009-03-15 20:34:33 +0000 (Sun, 15 Mar 2009) | 2 lines
@@ -44652,7 +46856,7 @@ Changed paths:
    M /trunk/INSTALL
 
 INSTALL: TLS on darwin may work, but I don't know anything more.
-See thread <http://gcc.gnu.org/ml/gcc/2008-12/msg00107.html>.
+See thread <https://gcc.gnu.org/ml/gcc/2008-12/msg00107.html>.
 ------------------------------------------------------------------------
 r5702 | vlefevre | 2008-12-08 16:02:29 +0000 (Mon, 08 Dec 2008) | 1 line
 Changed paths:
@@ -44987,7 +47191,7 @@ Changed paths:
 
 configure.in: replaced $(...) quoting style by "`...`" since the former
 is not supported everywhere (and indeed is not used by the autotools):
-http://swox.com/list-archives/gmp-bugs/2008-October/001185.html
+https://gmplib.org/list-archives/gmp-bugs/2008-October/001185.html
 ------------------------------------------------------------------------
 r5658 | vlefevre | 2008-10-29 01:21:29 +0000 (Wed, 29 Oct 2008) | 2 lines
 Changed paths:
@@ -49364,7 +51568,7 @@ Changed paths:
    M /trunk/tests/tprintf.c
    M /trunk/vasprintf.c
 
-exponent continuity with one hexadecimal digit ouput
+exponent continuity with one hexadecimal digit output
 
 ------------------------------------------------------------------------
 r5104 | thevenyp | 2007-12-17 14:41:58 +0000 (Mon, 17 Dec 2007) | 2 lines
@@ -58515,7 +60719,7 @@ Changed paths:
    M /trunk/zeta_ui.c
 
 Updated the copyright notices according to the new GNU rules on:
-  http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices
+  https://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices
 i.e. added 2006 to every MPFR file.
 Note: the copyright notices (currently 336) should match the regexp
   Copyright.* 2006 Free Software
@@ -60854,7 +63058,7 @@ Changed paths:
    M /trunk/extract.c
    M /trunk/strtofr.c
 
-Fix warnings due to comparaison between signed and unsigned.
+Fix warnings due to comparison between signed and unsigned.
 Reinclude string.h for strtofr.
 
 ------------------------------------------------------------------------
@@ -61092,7 +63296,7 @@ Changed paths:
    M /trunk/COPYING
    M /trunk/COPYING.LIB
 
-Forget thoses two. Update from FSF site.
+Forget those two. Update from FSF site.
 
 ------------------------------------------------------------------------
 r3607 | pelissip | 2005-06-02 16:16:17 +0000 (Thu, 02 Jun 2005) | 2 lines
@@ -62268,7 +64472,7 @@ r3504 | pelissip | 2005-05-01 09:21:43 +0000 (Sun, 01 May 2005) | 2 lines
 Changed paths:
    M /trunk/tests/reuse.c
 
-Add new funcions in reuse test.
+Add new functions in reuse test.
 
 ------------------------------------------------------------------------
 r3503 | zimmerma | 2005-04-30 11:03:47 +0000 (Sat, 30 Apr 2005) | 2 lines
@@ -63656,7 +65860,7 @@ Changed paths:
    M /trunk/tanh.c
    M /trunk/zeta.c
 
-Log input and ouput of functions.
+Log input and output of functions.
 
 ------------------------------------------------------------------------
 r3314 | pelissip | 2005-02-15 10:06:39 +0000 (Tue, 15 Feb 2005) | 2 lines
@@ -63926,7 +66130,7 @@ Update GMP detection to be much more libtool compatible.
 As a consequence some tests using AC_RUN_IFELSE may fail due to ugly things
 like LD_LIBRARY_PATH no set or wrong selection of libgmp.
 So they just produce a warning, not a fatal error.
-TODO: Check if we can avoid thoses problems...
+TODO: Check if we can avoid those problems...
 
 ------------------------------------------------------------------------
 r3283 | pelissip | 2005-02-08 15:49:12 +0000 (Tue, 08 Feb 2005) | 3 lines
@@ -65135,7 +67339,7 @@ r3141 | pelissip | 2004-12-15 14:22:50 +0000 (Wed, 15 Dec 2004) | 2 lines
 Changed paths:
    M /trunk/mpfr.h
 
-Remove thread attribut until I found a good way to use it.
+Remove thread attribute until I found a good way to use it.
 
 ------------------------------------------------------------------------
 r3140 | pelissip | 2004-12-15 10:49:11 +0000 (Wed, 15 Dec 2004) | 2 lines
@@ -65284,7 +67488,7 @@ r3123 | pelissip | 2004-12-09 14:31:23 +0000 (Thu, 09 Dec 2004) | 2 lines
 Changed paths:
    M /trunk/mpfr.h
 
-Add support for new attribut sentinel in incoming GCC 4.0
+Add support for new attribute sentinel in incoming GCC 4.0
 
 ------------------------------------------------------------------------
 r3122 | pelissip | 2004-12-09 13:23:25 +0000 (Thu, 09 Dec 2004) | 2 lines
@@ -65305,7 +67509,7 @@ Changed paths:
 
 Optimize mpfr_set4.
 Inline rounding in mpfr_set4 and mpfr_cache
-mpfr_set4 dosn't return MPFR_EVEN_INEX (It was undocumented before).
+mpfr_set4 doesn't return MPFR_EVEN_INEX (It was undocumented before).
 Fix problems with tests (Avoid mixing MPFR_EVEN_INEX and 1).
 Add MPFR_RNDRAW_EVEN for rounding with MPFR_EVEN_INEX inexact support
 
@@ -66214,7 +68418,7 @@ Changed paths:
    M /trunk/mpfr.texi
 
 Update documentation and NEWS to reflect new functions
-and functionnality.
+and functionality.
 
 ------------------------------------------------------------------------
 r3008 | pelissip | 2004-09-29 12:28:17 +0000 (Wed, 29 Sep 2004) | 2 lines
@@ -66306,7 +68510,7 @@ r3000 | pelissip | 2004-09-28 07:53:46 +0000 (Tue, 28 Sep 2004) | 4 lines
 Changed paths:
    M /trunk/div.c
 
-Replace variable 'near' to 'the_real_near' since MSVC incorreclty
+Replace variable 'near' to 'the_real_near' since MSVC incorrectly
 recognize "far" and "near" as obsolete keywords (100% incorrect, and
 clearly MSVC fault but it doesn't cost many things to change the name).
 
@@ -69508,7 +71712,7 @@ r2616 | pelissip | 2004-01-09 08:58:24 +0000 (Fri, 09 Jan 2004) | 3 lines
 Changed paths:
    M /trunk/isinteger.c
 
-+ Simplify the signular code.
++ Simplify the singular code.
 + Fix potential type errors. (Used mpfr_prec_t instead of mpfr_uexp_t).
 
 ------------------------------------------------------------------------
@@ -69983,7 +72187,7 @@ Changed paths:
    M /trunk/tests/tsub1sp.c
 
 + Add a new test in case of underflow.
-+ Fix bug in case of underflow for sub1 / sub1sp (mpfr_powerof2 could be called with inalid numbers).
++ Fix bug in case of underflow for sub1 / sub1sp (mpfr_powerof2 could be called with invalid numbers).
 
 ------------------------------------------------------------------------
 r2570 | pelissip | 2003-12-09 14:58:26 +0000 (Tue, 09 Dec 2003) | 3 lines
@@ -70084,7 +72288,7 @@ Changed paths:
    M /trunk/mpfr-impl.h
    M /trunk/sub1.c
 
-Optmize a few add1.c/sub1.c by using MPFR_LIKELY / MPFR_UNLIKELY.
+Optimize a few add1.c/sub1.c by using MPFR_LIKELY / MPFR_UNLIKELY.
 
 ------------------------------------------------------------------------
 r2563 | pelissip | 2003-11-21 16:26:19 +0000 (Fri, 21 Nov 2003) | 2 lines
@@ -70109,7 +72313,7 @@ Changed paths:
    M /trunk/sub1.c
    M /trunk/zeta.c
 
-Remove some warnings and potential errors (Comparaison between signed and unsigned).
+Remove some warnings and potential errors (Comparison between signed and unsigned).
 
 ------------------------------------------------------------------------
 r2562 | pelissip | 2003-11-21 15:27:35 +0000 (Fri, 21 Nov 2003) | 4 lines
@@ -77456,7 +79660,7 @@ Changed paths:
    M /trunk/tests/tui_div.c
    M /trunk/tests/tui_sub.c
 
-- use mpfr_test_init to initialize harware floats
+- use mpfr_test_init to initialize hardware floats
 - use #ifdef HAVE_INFS when using DBL_NAN, ...
 - fixed some problems with wrongly converted f-p values (esp. under IRIX)
 
@@ -78541,7 +80745,7 @@ r1684 | daney | 2002-02-06 15:34:46 +0000 (Wed, 06 Feb 2002) | 2 lines
 Changed paths:
    M /trunk/acosh.c
 
-chnage the return values
+change the return values
 
 ------------------------------------------------------------------------
 r1683 | daney | 2002-02-06 15:34:15 +0000 (Wed, 06 Feb 2002) | 2 lines
@@ -78795,7 +80999,7 @@ r1656 | daney | 2002-01-18 09:51:03 +0000 (Fri, 18 Jan 2002) | 2 lines
 Changed paths:
    M /trunk/fma.c
 
-Change indendation + replace "" -> <> in header
+Change indentation + replace "" -> <> in header
 
 ------------------------------------------------------------------------
 r1655 | vlefevre | 2002-01-17 21:45:41 +0000 (Thu, 17 Jan 2002) | 2 lines
@@ -80980,7 +83184,7 @@ r1432 | daney | 2001-10-26 15:29:28 +0000 (Fri, 26 Oct 2001) | 2 lines
 Changed paths:
    M /trunk/fma.c
 
-mixed version beetwen DD and Pau => (gestion des flag inexacte dirige)
+mixed version between DD and Pau => (gestion des flag inexacte dirige)
 
 ------------------------------------------------------------------------
 r1431 | daney | 2001-10-26 15:28:31 +0000 (Fri, 26 Oct 2001) | 2 lines
@@ -82434,7 +84638,7 @@ r1235 | zimmerma | 2001-10-12 12:18:10 +0000 (Fri, 12 Oct 2001) | 2 lines
 Changed paths:
    M /trunk/set_d.c
 
-implemeted inexact flag in mpfr_set_d
+implemented inexact flag in mpfr_set_d
 
 ------------------------------------------------------------------------
 r1234 | zimmerma | 2001-10-12 12:17:24 +0000 (Fri, 12 Oct 2001) | 2 lines
@@ -89843,7 +92047,7 @@ r321 | hanrot | 1999-07-06 12:40:17 +0000 (Tue, 06 Jul 1999) | 2 lines
 Changed paths:
    M /trunk/sqrt3.c
 
-The word added when the exponent is odd was sometimes unitialized.
+The word added when the exponent is odd was sometimes uninitialized.
 
 ------------------------------------------------------------------------
 r320 | hanrot | 1999-07-06 09:39:42 +0000 (Tue, 06 Jul 1999) | 2 lines
diff --git a/INSTALL b/INSTALL
index d9363ec9d487707da7962ffd2d15c5129841f4c5..8c78c3034da14f129775b9426a9fc0c739012953 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,4 +1,4 @@
-Copyright 1999-2018 Free Software Foundation, Inc.
+Copyright 1999-2019 Free Software Foundation, Inc.
 Contributed by the AriC and Caramba projects, INRIA.
 
 This file is part of the GNU MPFR Library.
@@ -15,7 +15,7 @@ License for more details.
 
 You should have received a copy of the GNU Lesser General Public License
 along with the GNU MPFR Library; see the file COPYING.LESSER.  If not, see
-http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
+https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 
@@ -28,8 +28,8 @@ reporting a bug, in particular Section "In case of problem" below. Some
 problems are due to bad configuration on the user side (not specific to
 MPFR).
 
-0. You first need to install GMP. See <http://www.gnu.org/software/gmp/>.
-   MPFR requires GMP version 4.1 or later.
+0. You first need to install GMP. See <https://gmplib.org/>.
+   MPFR requires GMP version 5.0.0 or later.
 
 1. Extract the files from the archive.
 
@@ -37,17 +37,17 @@ MPFR).
    not been done yet and if patches are available. You can check
    on the release page:
 
-     http://www.mpfr.org/mpfr-4.0.1/
+     https://www.mpfr.org/mpfr-4.0.2/
 
    which may have additional information. The patches can be applied
    with commands like:
 
-     wget http://www.mpfr.org/mpfr-4.0.1/allpatches
+     wget https://www.mpfr.org/mpfr-4.0.2/allpatches
      patch -N -Z -p1 < allpatches
 
    or
 
-     curl http://www.mpfr.org/mpfr-4.0.1/allpatches | patch -N -Z -p1
+     curl https://www.mpfr.org/mpfr-4.0.2/allpatches | patch -N -Z -p1
 
    (Those instructions are for the GNU patch command, for example
    /usr/bin/gpatch on Solaris.)
@@ -238,13 +238,19 @@ specific architecture.
 
 [1] http://permalink.gmane.org/gmane.comp.gnu.libtool.patches/10111
 
-Note: By default, the configure script tries to set CC/CFLAGS to GMP's
-ones (this feature needs GMP 4.3.0 or later, or the --with-gmp-build
-option). However this is not guaranteed to work as the configure script
-does some compiler tests earlier, and the change may be too late. Also,
-the values obtained from GMP may be incorrect if GMP has been built
-on a different machine. In such a case, the user may need to specify
-CC/CFLAGS as explained below.
+Note: By default, the configure script tries to set CC / CFLAGS to GMP's
+ones from gmp.h (__GMP_CC / __GMP_CFLAGS) in order to ensure that MPFR is
+built with the same ABI as GMP. The reason is that when GMP is built, it
+may set CC / CFLAGS to select an ABI that is not the default one in order
+to have a better performance. The -pedantic option in GMP's CFLAGS, when
+present (which is the case by default), is removed, because the MPFR
+build system uses some C extensions (when this script detects that they
+are supported) and -pedantic yields too many useless warnings. However,
+this setting from GMP is not guaranteed to work as the configure script
+does some compiler tests earlier, and a conflict may arise. Also, the
+values obtained from GMP may be incorrect for the MPFR build if GMP has
+been built on a different machine; in such a case, the user may need to
+specify CC / CFLAGS, as explained below.
 
 Moreover, even without --with-gmp-build and --enable-gmp-internals,
 MPFR might use some GMP internals by mistake. This would be a bug,
@@ -361,9 +367,9 @@ First, look for any warning message in the configure output.
 Several documents may help you to solve the problem:
   * this INSTALL file, in particular information given below;
   * the FAQ (either the FAQ.html file distributed with MPFR, or the
-    on-line version <http://www.mpfr.org/faq.html>, which may be more
+    on-line version <https://www.mpfr.org/faq.html>, which may be more
     up-to-date);
-  * the MPFR web page for this version <http://www.mpfr.org/mpfr-4.0.1/>,
+  * the MPFR web page for this version <https://www.mpfr.org/mpfr-4.0.2/>,
     which lists bugs found in this version and provides some patches.
 
 If the "configure" fails, please check that the C compiler and its
index 5ce6d5049b1a892c7da2111563eed36b969db05e..b05fe760a3faed605d49f70bac96c36facbc90c4 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 2000-2018 Free Software Foundation, Inc.
+# Copyright 2000-2019 Free Software Foundation, Inc.
 # This Makefile.am is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
index 347bad5b0f4b5141121b1c92b069452bc0772e22..cd98c7bcf64d79648f1399f3239a49c08a0317d4 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright 2000-2018 Free Software Foundation, Inc.
+# Copyright 2000-2019 Free Software Foundation, Inc.
 # This Makefile.am is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -177,7 +177,7 @@ am__recursive_targets = \
   $(RECURSIVE_CLEAN_TARGETS) \
   $(am__extra_recursive_targets)
 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-       cscope distdir dist dist-all distcheck
+       cscope distdir distdir-am dist dist-all distcheck
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -419,8 +419,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
            echo ' $(SHELL) ./config.status'; \
            $(SHELL) ./config.status;; \
          *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
        esac;
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -594,7 +594,10 @@ distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
        -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
 
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
        $(am__remove_distdir)
        test -d "$(distdir)" || mkdir "$(distdir)"
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
diff --git a/NEWS b/NEWS
index 154ed6a1e12c2daead5f9b388d3e64f24e7c2b6d..7dcf5996d5839b8a4c641a6bafe6053f22a0fd92 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-Copyright 2000-2018 Free Software Foundation, Inc.
+Copyright 2000-2019 Free Software Foundation, Inc.
 Contributed by the AriC and Caramba projects, INRIA.
 
 This file is part of the GNU MPFR Library.
@@ -15,11 +15,20 @@ License for more details.
 
 You should have received a copy of the GNU Lesser General Public License
 along with the GNU MPFR Library; see the file COPYING.LESSER.  If not, see
-http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
+https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 ##############################################################################
 
+Changes from version 4.0.1 to version 4.0.2:
+- Corrected minimal GMP version in the INSTALL file and the MPFR manual.
+- Option -pedantic is now always removed from __GMP_CFLAGS (see INSTALL).
+- Shared caches: cleanup; really detect lock failures (abort in this case).
+- Improved MPFR manual. In particular, corrected/completed the
+  mpfr_get_str description in order to follow the historical behavior
+  and GMP's mpf_get_str function.
+- Bug fixes (see ChangeLog file).
+
 Changes from version 4.0.0 to version 4.0.1:
 - Improved MPFR manual.
 - Improved __GMP_CC and __GMP_CFLAGS retrieval (in particular for MS Windows).
diff --git a/README b/README
index 692e758c779f624cb1800799dec7451fcfad610a..99cb7f2dec8bb924aa2b55be72771a0a0d600ac6 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Copyright 2000-2018 Free Software Foundation, Inc.
+Copyright 2000-2019 Free Software Foundation, Inc.
 Contributed by the AriC and Caramba projects, INRIA.
 
 This file is part of the GNU MPFR Library.
@@ -15,7 +15,7 @@ License for more details.
 
 You should have received a copy of the GNU Lesser General Public License
 along with the GNU MPFR Library; see the file COPYING.LESSER.  If not, see
-http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
+https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 ##############################################################################
diff --git a/TODO b/TODO
index 3379a9a2c664e3cf99ca3b5b622f77d665dc4286..9896c1fc645cefc67237a3d7e9b0d3fbfcb26a16 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,4 +1,4 @@
-Copyright 1999-2018 Free Software Foundation, Inc.
+Copyright 1999-2019 Free Software Foundation, Inc.
 Contributed by the AriC and Caramba projects, INRIA.
 
 This file is part of the GNU MPFR Library.
@@ -15,7 +15,7 @@ License for more details.
 
 You should have received a copy of the GNU Lesser General Public License
 along with the GNU MPFR Library; see the file COPYING.LESSER.  If not, see
-http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
+https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 Table of contents:
@@ -59,7 +59,7 @@ Table of contents:
 - export mpfr_overflow and mpfr_underflow as public functions
 
 - many functions currently taking into account the precision of the *input*
-  variable to set the initial working precison (acosh, asinh, cosh, ...).
+  variable to set the initial working precision (acosh, asinh, cosh, ...).
   This is nonsense since the "average" working precision should only depend
   on the precision of the *output* variable (and maybe on the *value* of
   the input in case of cancellation).
@@ -188,7 +188,7 @@ Table of contents:
   + arcu (5.3.10.15): arctan2(y,x) u / (2 pi);
   + rad_to_cycle, cycle_to_rad, cycle_to_cycle (5.3.11.{1..3}).
 - From GSL, missing special functions (if useful in MPFR):
-  (cf http://www.gnu.org/software/gsl/manual/gsl-ref.html#Special-Functions)
+  (cf https://www.gnu.org/software/gsl/manual/gsl-ref.html#Special-Functions)
   + The Airy functions Ai(x) and Bi(x) defined by the integral representations:
    * Ai(x) = (1/\pi) \int_0^\infty \cos((1/3) t^3 + xt) dt
    * Bi(x) = (1/\pi) \int_0^\infty (e^(-(1/3) t^3) + \sin((1/3) t^3 + xt)) dt
diff --git a/VERSION b/VERSION
index 1454f6ed4b751b190ba93ad2c721979cc0977fbc..4d54daddb617f25a30cbe4bcce8ba4345cea51a6 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-4.0.1
+4.0.2
index b72ff1e7fad2258bfd716294713d4ba455040164..02a11973c66f7ac6bbbd8704698bca60c94c8e25 100644 (file)
@@ -1,6 +1,6 @@
 dnl  MPFR specific autoconf macros
 
-dnl  Copyright 2000, 2002-2018 Free Software Foundation, Inc.
+dnl  Copyright 2000, 2002-2019 Free Software Foundation, Inc.
 dnl  Contributed by the AriC and Caramba projects, INRIA.
 dnl
 dnl  This file is part of the GNU MPFR Library.
@@ -17,7 +17,7 @@ dnl  License for more details.
 dnl
 dnl  You should have received a copy of the GNU Lesser General Public License
 dnl  along with the GNU MPFR Library; see the file COPYING.LESSER.  If not, see
-dnl  http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
+dnl  https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
 dnl  51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 dnl  autoconf 2.60 is necessary because of the use of AC_PROG_SED.
@@ -44,6 +44,66 @@ AC_REQUIRE([MPFR_CHECK_LIBQUADMATH])
 AC_REQUIRE([AC_HEADER_TIME])
 AC_REQUIRE([AC_CANONICAL_HOST])
 
+dnl Features for the MPFR shared cache. This needs to be done
+dnl quite early since this may change CC, CFLAGS and LIBS, which
+dnl may affect the other tests.
+
+if test "$enable_shared_cache" = yes; then
+
+dnl Prefer ISO C11 threads (as in mpfr-thread.h).
+  MPFR_CHECK_C11_THREAD()
+
+  if test "$mpfr_c11_thread_ok" != yes; then
+dnl Check for POSIX threads. Since the AX_PTHREAD macro is not standard
+dnl (it is provided by autoconf-archive), we need to detect whether it
+dnl is left unexpanded, otherwise the configure script won't fail and
+dnl "make distcheck" won't give any error, yielding buggy tarballs!
+dnl The \b is necessary to avoid an error with recent ax_pthread.m4
+dnl (such as with Debian's autoconf-archive 20160320-1), which contains
+dnl AX_PTHREAD_ZOS_MISSING, etc. It is not documented, but see:
+dnl   https://lists.gnu.org/archive/html/autoconf/2015-03/msg00011.html
+dnl
+dnl Note: each time a change is done in m4_pattern_forbid, autogen.sh
+dnl should be tested with and without ax_pthread.m4 availability (in
+dnl the latter case, there should be an error).
+    m4_pattern_forbid([AX_PTHREAD\b])
+    AX_PTHREAD([])
+    if test "$ax_pthread_ok" = yes; then
+      CC="$PTHREAD_CC"
+      CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+      LIBS="$LIBS $PTHREAD_LIBS"
+dnl Do a compilation test, as this is currently not done by AX_PTHREAD.
+dnl Moreover, MPFR needs pthread_rwlock_t, which is conditionally defined
+dnl in glibc's bits/pthreadtypes.h (via <pthread.h>), not sure why...
+      AC_MSG_CHECKING([for pthread_rwlock_t])
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <pthread.h>
+]], [[
+pthread_rwlock_t lock; (void) lock;
+]])],
+        [AC_MSG_RESULT([yes])
+         mpfr_pthread_ok=yes],
+        [AC_MSG_RESULT([no])
+         mpfr_pthread_ok=no])
+    else
+      mpfr_pthread_ok=no
+    fi
+  fi
+
+  AC_MSG_CHECKING(if shared cache can be supported)
+  if test "$mpfr_c11_thread_ok" = yes; then
+    AC_MSG_RESULT([yes, with ISO C11 threads])
+  elif test "$mpfr_pthread_ok" = yes; then
+    AC_MSG_RESULT([yes, with pthread])
+  else
+    AC_MSG_RESULT(no)
+    AC_MSG_ERROR([shared cache needs C11 threads or pthread support])
+  fi
+
+fi
+
+dnl End of features for the MPFR shared cache.
+
 AC_CHECK_HEADER([limits.h],, AC_MSG_ERROR([limits.h not found]))
 AC_CHECK_HEADER([float.h],,  AC_MSG_ERROR([float.h not found]))
 AC_CHECK_HEADER([string.h],, AC_MSG_ERROR([string.h not found]))
@@ -206,24 +266,6 @@ fi
 dnl Check for attribute constructor and destructor
 MPFR_CHECK_CONSTRUCTOR_ATTR()
 
-dnl Check for POSIX Thread. Since the AX_PTHREAD macro is not standard
-dnl (it is provided by autoconf-archive), we need to detect whether it
-dnl is left unexpanded, otherwise the configure script won't fail and
-dnl "make distcheck" won't give any error, yielding buggy tarballs!
-dnl The \b is necessary to avoid an error with recent ax_pthread.m4
-dnl (such as with Debian's autoconf-archive 20160320-1), which contains
-dnl AX_PTHREAD_ZOS_MISSING, etc. It is not documented, but see:
-dnl   https://lists.gnu.org/archive/html/autoconf/2015-03/msg00011.html
-dnl
-dnl Note: each time a change is done in m4_pattern_forbid, autogen.sh
-dnl should be tested with and without ax_pthread.m4 availability (in
-dnl the latter case, there should be an error).
-m4_pattern_forbid([AX_PTHREAD\b])
-AX_PTHREAD([])
-
-dnl Check for ISO C11 Thread
-MPFR_CHECK_C11_THREAD()
-
 dnl Check for fesetround
 AC_CACHE_CHECK([for fesetround], mpfr_cv_have_fesetround, [
 saved_LIBS="$LIBS"
@@ -504,14 +546,6 @@ LIBS="$saved_LIBS"
 dnl Now try to check the long double format
 MPFR_C_LONG_DOUBLE_FORMAT
 
-if test "$enable_logging" = yes; then
-  if test "$enable_thread_safe" = yes; then
-    AC_MSG_ERROR([enable either `Logging' or `thread-safe', not both])
-  else
-    enable_thread_safe=no
-  fi
-fi
-
 dnl Check if thread-local variables are supported.
 dnl At least two problems can occur in practice:
 dnl 1. The compilation fails, e.g. because the compiler doesn't know
@@ -635,9 +669,19 @@ fi
 dnl Check if __float128 is available. We also require the compiler
 dnl to support C99 constants (this prevents the __float128 support
 dnl with GCC's -std=c90, but who cares?).
+dnl Note: We use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE since an
+dnl error may occur only at link time, such as under NetBSD:
+dnl   https://mail-index.netbsd.org/pkgsrc-users/2018/02/02/msg026220.html
+dnl   https://mail-index.netbsd.org/pkgsrc-users/2018/02/05/msg026238.html
+dnl By using volatile and making the exit code depend on the value of
+dnl this variable, we also make sure that optimization doesn't make
+dnl the "undefined reference" error disappear.
 if test "$enable_float128" != no; then
-   AC_MSG_CHECKING(if compiler knows __float128 with C99 constants)
-   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[__float128 x = 0x1.fp+16383q;]])],
+   AC_MSG_CHECKING(if __float128 with hex constants is supported)
+   AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
+volatile __float128 x = 0x1.fp+16383q;
+return x == 0;
+]])],
       [AC_MSG_RESULT(yes)
        AC_DEFINE([MPFR_WANT_FLOAT128],1,[Build float128 functions])],
       [AC_MSG_RESULT(no)
@@ -680,11 +724,6 @@ if test "$enable_lto" = "yes" ; then
    MPFR_LTO
 fi
 
-dnl Check if the shared cache was requested and its requirements are ok.
-if test "$mpfr_want_shared_cache" = yes ;then
-   MPFR_CHECK_SHARED_CACHE()
-fi
-
 ])
 dnl end of MPFR_CONFIGS
 
@@ -909,11 +948,13 @@ else
 /* "before" is 16 bytes to ensure there's no padding between it and "x".
    We're not expecting any "long double" bigger than 16 bytes or with
    alignment requirements stricter than 16 bytes.  */
-struct {
+typedef struct {
   char         before[16];
   long double  x;
   char         after[8];
-} foo = {
+} foo_t;
+
+foo_t foo = {
   { '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
     '\001', '\043', '\105', '\147', '\211', '\253', '\315', '\357' },
   -123456789.0,
@@ -1423,6 +1464,31 @@ MPFR_FUNC_GMP_PRINTF_SPEC([td], [ptrdiff_t], [
     [AC_DEFINE([NPRINTF_T], 1, [gmp_printf cannot read ptrdiff_t])])
 ])
 
+dnl MPFR_CHECK_PRINTF_GROUPFLAG
+dnl ---------------------------
+dnl Check the support of the group flag for native integers, which is
+dnl a Single UNIX Specification extension.
+dnl This will be used to enable some tests, as the implementation of
+dnl the P length modifier for mpfr_*printf relies on this support.
+
+AC_DEFUN([MPFR_CHECK_PRINTF_GROUPFLAG], [
+AC_MSG_CHECKING(if gmp_printf supports the ' group flag)
+AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#include <string.h>
+#include <gmp.h>
+]], [[
+  char s[256];
+
+  if (gmp_sprintf (s, "%'d", 17) == -1) return 1;
+  return (strcmp (s, "17") != 0);
+]])],
+  [AC_MSG_RESULT(yes)
+   AC_DEFINE([PRINTF_GROUPFLAG], 1, [Define if gmp_printf supports the ' group flag])],
+  [AC_MSG_RESULT(no)],
+  [AC_MSG_RESULT(cannot test, assume no)])
+])
+])
+
 dnl MPFR_LTO
 dnl --------
 dnl To be representative, we need:
@@ -1480,32 +1546,6 @@ mpfr_compile_and_link()
 rm -f conftest*
 ])
 
-dnl MPFR_CHECK_SHARED_CACHE
-dnl ----------------------
-dnl Check if the conditions for the shared cache are met:
-dnl  * either pthread / C11 are available.
-dnl  * either constructor or once.
-AC_DEFUN([MPFR_CHECK_SHARED_CACHE], [
-  AC_MSG_CHECKING(if shared cache is supported)
-  if test "$enable_logging" = yes ; then
-    AC_MSG_RESULT(no)
-    AC_MSG_ERROR([shared cache does not work with logging support.])
-dnl because logging support disables threading support
-  elif test "$enable_thread_safe" != yes ; then
-    AC_MSG_RESULT(no)
-    AC_MSG_ERROR([shared cache needs thread attribute.])
-  elif test "$ax_pthread_ok" != yes && "$mpfr_c11_thread_ok" != yes ; then
-    AC_MSG_RESULT(no)
-    AC_MSG_ERROR([shared cache needs pthread/C11 library.])
-  else
-    AC_MSG_RESULT(yes)
-    if test "$ax_pthread_ok" = yes ; then
-        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-        LIBS="$LIBS $PTHREAD_LIBS"
-    fi
-  fi
-])
-
 dnl MPFR_CHECK_CONSTRUCTOR_ATTR
 dnl ---------------------------
 dnl Check for constructor/destructor attributes to function.
@@ -1547,7 +1587,7 @@ AC_DEFUN([MPFR_CHECK_C11_THREAD], [
 AC_MSG_CHECKING([for ISO C11 thread support])
 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
 #include <assert.h>
-#include <thread.h>
+#include <threads.h>
  mtx_t lock;
  once_flag once = ONCE_FLAG_INIT;
  thrd_t thd_idx;
index ea9318356a6f003528c4779f81997a4cfc4dbbc8..a4e7c9fbc1fa42514cb3b35c0cadc48d68f80d60 100644 (file)
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
 
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -460,7 +460,8 @@ if test "x$ax_pthread_ok" = "xyes"; then
         AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
             [ax_cv_PTHREAD_PRIO_INHERIT],
             [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
-                                             [[int i = PTHREAD_PRIO_INHERIT;]])],
+                                             [[int i = PTHREAD_PRIO_INHERIT;
+                                               return i;]])],
                             [ax_cv_PTHREAD_PRIO_INHERIT=yes],
                             [ax_cv_PTHREAD_PRIO_INHERIT=no])
             ])
@@ -506,7 +507,7 @@ fi
 AC_LANG_POP
 ])dnl AX_PTHREAD
 
-# Copyright (C) 2002-2017 Free Software Foundation, Inc.
+# Copyright (C) 2002-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -518,10 +519,10 @@ AC_LANG_POP
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.15'
+[am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.15.1], [],
+m4_if([$1], [1.16.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -537,12 +538,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.15.1])dnl
+[AM_AUTOMAKE_VERSION([1.16.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
-# Copyright (C) 2011-2017 Free Software Foundation, Inc.
+# Copyright (C) 2011-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -604,7 +605,7 @@ AC_SUBST([AR])dnl
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -656,7 +657,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+# Copyright (C) 1997-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -687,7 +688,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -878,13 +879,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
@@ -892,49 +892,41 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
   # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
+  # TODO: see whether this extra hack can be removed once we start
+  # requiring Autoconf 2.70 or later.
+  AS_CASE([$CONFIG_FILES],
+          [*\'*], [eval set x "$CONFIG_FILES"],
+          [*], [set x $CONFIG_FILES])
   shift
-  for mf
+  # Used to flag and report bootstrapping failures.
+  am_rc=0
+  for am_mf
   do
     # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named 'Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
+    am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile which includes
+    # dependency-tracking related rules and includes.
+    # Grep'ing the whole file directly is not great: AIX grep has a line
     # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running 'make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "$am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
+    sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+      || continue
+    am_dirpart=`AS_DIRNAME(["$am_mf"])`
+    am_filepart=`AS_BASENAME(["$am_mf"])`
+    AM_RUN_LOG([cd "$am_dirpart" \
+      && sed -e '/# am--include-marker/d' "$am_filepart" \
+        | $MAKE -f - am--depfiles]) || am_rc=$?
   done
+  if test $am_rc -ne 0; then
+    AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
+    for automatic dependency tracking.  Try re-running configure with the
+    '--disable-dependency-tracking' option to at least be able to build
+    the package (albeit without support for automatic dependency tracking).])
+  fi
+  AS_UNSET([am_dirpart])
+  AS_UNSET([am_filepart])
+  AS_UNSET([am_mf])
+  AS_UNSET([am_rc])
+  rm -f conftest-deps.mk
 }
 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
 
@@ -943,18 +935,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 # -----------------------------
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each '.P' file that we will
-# need in order to bootstrap the dependency handling code.
+# This code is only required when automatic dependency tracking is enabled.
+# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
+# order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
      [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
+     [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1041,8 +1032,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
 AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # For better backward compatibility.  To be removed once Automake 1.9.x
 # dies out for good.  For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
 # We need awk for the "check" target (and possibly the TAP driver).  The
 # system "awk" is bad on some platforms.
@@ -1109,7 +1100,7 @@ END
 Aborting the configuration process, to ensure you take notice of the issue.
 
 You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
 
 If you want to complete the configuration process using your problematic
 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
@@ -1151,7 +1142,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1172,7 +1163,7 @@ if test x"${install_sh+set}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2017 Free Software Foundation, Inc.
+# Copyright (C) 2003-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1194,7 +1185,7 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1229,7 +1220,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
 
 # Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1237,49 +1228,42 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
 
 # AM_MAKE_INCLUDE()
 # -----------------
-# Check to see how make treats includes.
+# Check whether make has an 'include' directive that can support all
+# the idioms we need for our automatic dependency tracking code.
 AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
+[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
+cat > confinc.mk << 'END'
 am__doit:
-       @echo this is the am__doit target
+       @echo this is the am__doit target >confinc.out
 .PHONY: am__doit
 END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
 am__include="#"
 am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
+# BSD make does it like this.
+echo '.include "confinc.mk" # ignored' > confmf.BSD
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+echo 'include confinc.mk # ignored' > confmf.GNU
+_am_result=no
+for s in GNU BSD; do
+  AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
+  AS_CASE([$?:`cat confinc.out 2>/dev/null`],
+      ['0:this is the am__doit target'],
+      [AS_CASE([$s],
+          [BSD], [am__include='.include' am__quote='"'],
+          [am__include='include' am__quote=''])])
+  if test "$am__include" != "#"; then
+    _am_result="yes ($s style)"
+    break
+  fi
+done
+rm -f confinc.* confmf.*
+AC_MSG_RESULT([${_am_result}])
+AC_SUBST([am__include])])
+AC_SUBST([am__quote])])
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+# Copyright (C) 1997-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1318,7 +1302,7 @@ fi
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1347,7 +1331,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1394,7 +1378,7 @@ AC_LANG_POP([C])])
 # For backward compatibility.
 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
 
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1413,7 +1397,7 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1494,7 +1478,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2017 Free Software Foundation, Inc.
+# Copyright (C) 2009-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1554,7 +1538,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1582,7 +1566,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2017 Free Software Foundation, Inc.
+# Copyright (C) 2006-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1601,7 +1585,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2017 Free Software Foundation, Inc.
+# Copyright (C) 2004-2018 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/ar-lib b/ar-lib
index 05094d34c696249b10c58ac61f381a3f3b54f501..0baa4f607608a8e07a0e2be8ae0735791a9b1a68 100755 (executable)
--- a/ar-lib
+++ b/ar-lib
@@ -4,7 +4,7 @@
 me=ar-lib
 scriptversion=2012-03-01.08; # UTC
 
-# Copyright (C) 2010-2017 Free Software Foundation, Inc.
+# Copyright (C) 2010-2018 Free Software Foundation, Inc.
 # Written by Peter Rosin <peda@lysator.liu.se>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -18,7 +18,7 @@ scriptversion=2012-03-01.08; # UTC
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
diff --git a/compile b/compile
index a85b723c7e67d46316e85e7422bd5088e9136042..99e50524b3bade179355469777b4d664bcd5c964 100755 (executable)
--- a/compile
+++ b/compile
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2012-10-14.11; # UTC
+scriptversion=2018-03-07.03; # UTC
 
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -255,7 +255,8 @@ EOF
     echo "compile $scriptversion"
     exit $?
     ;;
-  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+  icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
     func_cl_wrapper "$@"      # Doesn't return...
     ;;
 esac
@@ -339,9 +340,9 @@ exit $ret
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
index 31e01efec3e3bb01d289f24d77baddb4f47a1f93..f50dcdb6de2af0a2e33f44704da3ec1286e5f291 100755 (executable)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2017 Free Software Foundation, Inc.
+#   Copyright 1992-2018 Free Software Foundation, Inc.
 
-timestamp='2017-11-07'
+timestamp='2018-02-24'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2018 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -107,9 +107,9 @@ trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
 dummy=$tmp/dummy ;
 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
 case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
+ ,,)    echo "int x;" > "$dummy.c" ;
        for c in cc gcc c89 c99 ; do
-         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+         if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
             CC_FOR_BUILD="$c"; break ;
          fi ;
        done ;
@@ -132,14 +132,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
-case "${UNAME_SYSTEM}" in
+case "$UNAME_SYSTEM" in
 Linux|GNU|GNU/*)
        # If the system lacks a compiler, then just pick glibc.
        # We could probably try harder.
        LIBC=gnu
 
-       eval $set_cc_for_build
-       cat <<-EOF > $dummy.c
+       eval "$set_cc_for_build"
+       cat <<-EOF > "$dummy.c"
        #include <features.h>
        #if defined(__UCLIBC__)
        LIBC=uclibc
@@ -149,13 +149,20 @@ Linux|GNU|GNU/*)
        LIBC=gnu
        #endif
        EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+       eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+
+       # If ldd exists, use it to detect musl libc.
+       if command -v ldd >/dev/null && \
+               ldd --version 2>&1 | grep -q ^musl
+       then
+           LIBC=musl
+       fi
        ;;
 esac
 
 # Note: order is significant - the case branches are not exclusive.
 
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
     *:NetBSD:*:*)
        # NetBSD (nbsd) targets should (where applicable) match one or
        # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -169,30 +176,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # portion of the name.  We always set it to "unknown".
        sysctl="sysctl -n hw.machine_arch"
        UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
-           /sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || \
+           "/sbin/$sysctl" 2>/dev/null || \
+           "/usr/sbin/$sysctl" 2>/dev/null || \
            echo unknown)`
-       case "${UNAME_MACHINE_ARCH}" in
+       case "$UNAME_MACHINE_ARCH" in
            armeb) machine=armeb-unknown ;;
            arm*) machine=arm-unknown ;;
            sh3el) machine=shl-unknown ;;
            sh3eb) machine=sh-unknown ;;
            sh5el) machine=sh5le-unknown ;;
            earmv*)
-               arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
-               endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
-               machine=${arch}${endian}-unknown
+               arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+               endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+               machine="${arch}${endian}"-unknown
                ;;
-           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+           *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
        esac
        # The Operating System including object format, if it has switched
        # to ELF recently (or will in the future) and ABI.
-       case "${UNAME_MACHINE_ARCH}" in
+       case "$UNAME_MACHINE_ARCH" in
            earm*)
                os=netbsdelf
                ;;
            arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-               eval $set_cc_for_build
+               eval "$set_cc_for_build"
                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
                        | grep -q __ELF__
                then
@@ -208,10 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                ;;
        esac
        # Determine ABI tags.
-       case "${UNAME_MACHINE_ARCH}" in
+       case "$UNAME_MACHINE_ARCH" in
            earm*)
                expr='s/^earmv[0-9]/-eabi/;s/eb$//'
-               abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+               abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
                ;;
        esac
        # The OS release
@@ -219,52 +226,55 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # thus, need a distinct triplet. However, they do not need
        # kernel version information, so it can be replaced with a
        # suitable tag, in the style of linux-gnu.
-       case "${UNAME_VERSION}" in
+       case "$UNAME_VERSION" in
            Debian*)
                release='-gnu'
                ;;
            *)
-               release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
+               release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
                ;;
        esac
        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
        # contains redundant information, the shorter form:
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "${machine}-${os}${release}${abi}"
+       echo "$machine-${os}${release}${abi}"
        exit ;;
     *:Bitrig:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-       echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+       echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
        exit ;;
     *:OpenBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+       echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
        exit ;;
     *:LibertyBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
-       echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+       echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
        exit ;;
     *:MidnightBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
        exit ;;
     *:ekkoBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
        exit ;;
     *:SolidBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
        exit ;;
     macppc:MirBSD:*:*)
-       echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+       echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
        exit ;;
     *:MirBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
        exit ;;
     *:Sortix:*:*)
-       echo ${UNAME_MACHINE}-unknown-sortix
+       echo "$UNAME_MACHINE"-unknown-sortix
        exit ;;
     *:Redox:*:*)
-       echo ${UNAME_MACHINE}-unknown-redox
+       echo "$UNAME_MACHINE"-unknown-redox
        exit ;;
+    mips:OSF1:*.*)
+        echo mips-dec-osf1
+        exit ;;
     alpha:OSF1:*:*)
        case $UNAME_RELEASE in
        *4.0)
@@ -316,7 +326,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # A Tn.n version is a released field test version.
        # A Xn.n version is an unreleased experimental baselevel.
        # 1.2 uses "1.2" for uname -r.
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+       echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
        # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
        exitcode=$?
        trap '' 0
@@ -325,10 +335,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        echo m68k-unknown-sysv4
        exit ;;
     *:[Aa]miga[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-amigaos
+       echo "$UNAME_MACHINE"-unknown-amigaos
        exit ;;
     *:[Mm]orph[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-morphos
+       echo "$UNAME_MACHINE"-unknown-morphos
        exit ;;
     *:OS/390:*:*)
        echo i370-ibm-openedition
@@ -340,7 +350,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        echo powerpc-ibm-os400
        exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-       echo arm-acorn-riscix${UNAME_RELEASE}
+       echo arm-acorn-riscix"$UNAME_RELEASE"
        exit ;;
     arm*:riscos:*:*|arm*:RISCOS:*:*)
        echo arm-unknown-riscos
@@ -367,19 +377,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
            sparc) echo sparc-icl-nx7; exit ;;
        esac ;;
     s390x:SunOS:*:*)
-       echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
        exit ;;
     sun4H:SunOS:5.*:*)
-       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
        exit ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
        exit ;;
     i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-       echo i386-pc-auroraux${UNAME_RELEASE}
+       echo i386-pc-auroraux"$UNAME_RELEASE"
        exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-       eval $set_cc_for_build
+       eval "$set_cc_for_build"
        SUN_ARCH=i386
        # If there is a compiler, see if it is configured for 64-bit objects.
        # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
@@ -392,13 +402,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                SUN_ARCH=x86_64
            fi
        fi
-       echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
        exit ;;
     sun4*:SunOS:6*:*)
        # According to config.sub, this is the proper way to canonicalize
        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
        # it's likely to be more like Solaris than SunOS4.
-       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
        exit ;;
     sun4*:SunOS:*:*)
        case "`/usr/bin/arch -k`" in
@@ -407,25 +417,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                ;;
        esac
        # Japanese Language versions have a version number like `4.1.3-JL'.
-       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+       echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
        exit ;;
     sun3*:SunOS:*:*)
-       echo m68k-sun-sunos${UNAME_RELEASE}
+       echo m68k-sun-sunos"$UNAME_RELEASE"
        exit ;;
     sun*:*:4.2BSD:*)
        UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-       test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
+       test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
        case "`/bin/arch`" in
            sun3)
-               echo m68k-sun-sunos${UNAME_RELEASE}
+               echo m68k-sun-sunos"$UNAME_RELEASE"
                ;;
            sun4)
-               echo sparc-sun-sunos${UNAME_RELEASE}
+               echo sparc-sun-sunos"$UNAME_RELEASE"
                ;;
        esac
        exit ;;
     aushp:SunOS:*:*)
-       echo sparc-auspex-sunos${UNAME_RELEASE}
+       echo sparc-auspex-sunos"$UNAME_RELEASE"
        exit ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
@@ -436,44 +446,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
+       echo m68k-atari-mint"$UNAME_RELEASE"
        exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
+       echo m68k-atari-mint"$UNAME_RELEASE"
        exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
+       echo m68k-atari-mint"$UNAME_RELEASE"
        exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-       echo m68k-milan-mint${UNAME_RELEASE}
+       echo m68k-milan-mint"$UNAME_RELEASE"
        exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-       echo m68k-hades-mint${UNAME_RELEASE}
+       echo m68k-hades-mint"$UNAME_RELEASE"
        exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-       echo m68k-unknown-mint${UNAME_RELEASE}
+       echo m68k-unknown-mint"$UNAME_RELEASE"
        exit ;;
     m68k:machten:*:*)
-       echo m68k-apple-machten${UNAME_RELEASE}
+       echo m68k-apple-machten"$UNAME_RELEASE"
        exit ;;
     powerpc:machten:*:*)
-       echo powerpc-apple-machten${UNAME_RELEASE}
+       echo powerpc-apple-machten"$UNAME_RELEASE"
        exit ;;
     RISC*:Mach:*:*)
        echo mips-dec-mach_bsd4.3
        exit ;;
     RISC*:ULTRIX:*:*)
-       echo mips-dec-ultrix${UNAME_RELEASE}
+       echo mips-dec-ultrix"$UNAME_RELEASE"
        exit ;;
     VAX*:ULTRIX*:*:*)
-       echo vax-dec-ultrix${UNAME_RELEASE}
+       echo vax-dec-ultrix"$UNAME_RELEASE"
        exit ;;
     2020:CLIX:*:* | 2430:CLIX:*:*)
-       echo clipper-intergraph-clix${UNAME_RELEASE}
+       echo clipper-intergraph-clix"$UNAME_RELEASE"
        exit ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
+       eval "$set_cc_for_build"
+       sed 's/^        //' << EOF > "$dummy.c"
 #ifdef __cplusplus
 #include <stdio.h>  /* for printf() prototype */
        int main (int argc, char *argv[]) {
@@ -494,11 +504,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
          exit (-1);
        }
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c &&
-         dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-         SYSTEM_NAME=`$dummy $dummyarg` &&
+       $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+         dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+         SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
            { echo "$SYSTEM_NAME"; exit; }
-       echo mips-mips-riscos${UNAME_RELEASE}
+       echo mips-mips-riscos"$UNAME_RELEASE"
        exit ;;
     Motorola:PowerMAX_OS:*:*)
        echo powerpc-motorola-powermax
@@ -524,17 +534,17 @@ EOF
     AViiON:dgux:*:*)
        # DG/UX returns AViiON for all architectures
        UNAME_PROCESSOR=`/usr/bin/uname -p`
-       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+       if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
        then
-           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-              [ ${TARGET_BINARY_INTERFACE}x = x ]
+           if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
+              [ "$TARGET_BINARY_INTERFACE"x = x ]
            then
-               echo m88k-dg-dgux${UNAME_RELEASE}
+               echo m88k-dg-dgux"$UNAME_RELEASE"
            else
-               echo m88k-dg-dguxbcs${UNAME_RELEASE}
+               echo m88k-dg-dguxbcs"$UNAME_RELEASE"
            fi
        else
-           echo i586-dg-dgux${UNAME_RELEASE}
+           echo i586-dg-dgux"$UNAME_RELEASE"
        fi
        exit ;;
     M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
@@ -551,7 +561,7 @@ EOF
        echo m68k-tektronix-bsd
        exit ;;
     *:IRIX*:*:*)
-       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+       echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
        exit ;;
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
        echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
@@ -563,14 +573,14 @@ EOF
        if [ -x /usr/bin/oslevel ] ; then
                IBM_REV=`/usr/bin/oslevel`
        else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+               IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
        fi
-       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+       echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
        exit ;;
     *:AIX:2:3)
        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-               eval $set_cc_for_build
-               sed 's/^                //' << EOF >$dummy.c
+               eval "$set_cc_for_build"
+               sed 's/^                //' << EOF > "$dummy.c"
                #include <sys/systemcfg.h>
 
                main()
@@ -581,7 +591,7 @@ EOF
                        exit(0);
                        }
 EOF
-               if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+               if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
                then
                        echo "$SYSTEM_NAME"
                else
@@ -595,7 +605,7 @@ EOF
        exit ;;
     *:AIX:*:[4567])
        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+       if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
                IBM_ARCH=rs6000
        else
                IBM_ARCH=powerpc
@@ -604,9 +614,9 @@ EOF
                IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
                           awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
        else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+               IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
        fi
-       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+       echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
        exit ;;
     *:AIX:*:*)
        echo rs6000-ibm-aix
@@ -615,7 +625,7 @@ EOF
        echo romp-ibm-bsd4.4
        exit ;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+       echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
        exit ;;                             # report: romp-ibm BSD 4.3
     *:BOSX:*:*)
        echo rs6000-bull-bosx
@@ -630,28 +640,28 @@ EOF
        echo m68k-hp-bsd4.4
        exit ;;
     9000/[34678]??:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       case "${UNAME_MACHINE}" in
+       HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+       case "$UNAME_MACHINE" in
            9000/31?)            HP_ARCH=m68000 ;;
            9000/[34]??)         HP_ARCH=m68k ;;
            9000/[678][0-9][0-9])
                if [ -x /usr/bin/getconf ]; then
                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                   case "${sc_cpu_version}" in
+                   case "$sc_cpu_version" in
                      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
                      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
                      532)                      # CPU_PA_RISC2_0
-                       case "${sc_kernel_bits}" in
+                       case "$sc_kernel_bits" in
                          32) HP_ARCH=hppa2.0n ;;
                          64) HP_ARCH=hppa2.0w ;;
                          '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
                        esac ;;
                    esac
                fi
-               if [ "${HP_ARCH}" = "" ]; then
-                   eval $set_cc_for_build
-                   sed 's/^            //' << EOF >$dummy.c
+               if [ "$HP_ARCH" = "" ]; then
+                   eval "$set_cc_for_build"
+                   sed 's/^            //' << EOF > "$dummy.c"
 
                #define _HPUX_SOURCE
                #include <stdlib.h>
@@ -684,13 +694,13 @@ EOF
                    exit (0);
                }
 EOF
-                   (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+                   (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
                    test -z "$HP_ARCH" && HP_ARCH=hppa
                fi ;;
        esac
-       if [ ${HP_ARCH} = hppa2.0w ]
+       if [ "$HP_ARCH" = hppa2.0w ]
        then
-           eval $set_cc_for_build
+           eval "$set_cc_for_build"
 
            # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
            # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
@@ -709,15 +719,15 @@ EOF
                HP_ARCH=hppa64
            fi
        fi
-       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+       echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
        exit ;;
     ia64:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       echo ia64-hp-hpux${HPUX_REV}
+       HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+       echo ia64-hp-hpux"$HPUX_REV"
        exit ;;
     3050*:HI-UX:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
+       eval "$set_cc_for_build"
+       sed 's/^        //' << EOF > "$dummy.c"
        #include <unistd.h>
        int
        main ()
@@ -742,7 +752,7 @@ EOF
          exit (0);
        }
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+       $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
                { echo "$SYSTEM_NAME"; exit; }
        echo unknown-hitachi-hiuxwe2
        exit ;;
@@ -763,9 +773,9 @@ EOF
        exit ;;
     i*86:OSF1:*:*)
        if [ -x /usr/sbin/sysversion ] ; then
-           echo ${UNAME_MACHINE}-unknown-osf1mk
+           echo "$UNAME_MACHINE"-unknown-osf1mk
        else
-           echo ${UNAME_MACHINE}-unknown-osf1
+           echo "$UNAME_MACHINE"-unknown-osf1
        fi
        exit ;;
     parisc*:Lites*:*:*)
@@ -790,109 +800,109 @@ EOF
        echo c4-convex-bsd
        exit ;;
     CRAY*Y-MP:*:*:*)
-       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
        exit ;;
     CRAY*[A-Z]90:*:*:*)
-       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+       echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
              -e 's/\.[^.]*$/.X/'
        exit ;;
     CRAY*TS:*:*:*)
-       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
        exit ;;
     CRAY*T3E:*:*:*)
-       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
        exit ;;
     CRAY*SV1:*:*:*)
-       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
        exit ;;
     *:UNICOS/mp:*:*)
-       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
        exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
        FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
        FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
-       FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+       FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
        exit ;;
     5000:UNIX_System_V:4.*:*)
        FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
-       FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+       FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
        exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
        exit ;;
     sparc*:BSD/OS:*:*)
-       echo sparc-unknown-bsdi${UNAME_RELEASE}
+       echo sparc-unknown-bsdi"$UNAME_RELEASE"
        exit ;;
     *:BSD/OS:*:*)
-       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
        exit ;;
     *:FreeBSD:*:*)
        UNAME_PROCESSOR=`/usr/bin/uname -p`
-       case ${UNAME_PROCESSOR} in
+       case "$UNAME_PROCESSOR" in
            amd64)
                UNAME_PROCESSOR=x86_64 ;;
            i386)
                UNAME_PROCESSOR=i586 ;;
        esac
-       echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
        exit ;;
     i*:CYGWIN*:*)
-       echo ${UNAME_MACHINE}-pc-cygwin
+       echo "$UNAME_MACHINE"-pc-cygwin
        exit ;;
     *:MINGW64*:*)
-       echo ${UNAME_MACHINE}-pc-mingw64
+       echo "$UNAME_MACHINE"-pc-mingw64
        exit ;;
     *:MINGW*:*)
-       echo ${UNAME_MACHINE}-pc-mingw32
+       echo "$UNAME_MACHINE"-pc-mingw32
        exit ;;
     *:MSYS*:*)
-       echo ${UNAME_MACHINE}-pc-msys
+       echo "$UNAME_MACHINE"-pc-msys
        exit ;;
     i*:PW*:*)
-       echo ${UNAME_MACHINE}-pc-pw32
+       echo "$UNAME_MACHINE"-pc-pw32
        exit ;;
     *:Interix*:*)
-       case ${UNAME_MACHINE} in
+       case "$UNAME_MACHINE" in
            x86)
-               echo i586-pc-interix${UNAME_RELEASE}
+               echo i586-pc-interix"$UNAME_RELEASE"
                exit ;;
            authenticamd | genuineintel | EM64T)
-               echo x86_64-unknown-interix${UNAME_RELEASE}
+               echo x86_64-unknown-interix"$UNAME_RELEASE"
                exit ;;
            IA64)
-               echo ia64-unknown-interix${UNAME_RELEASE}
+               echo ia64-unknown-interix"$UNAME_RELEASE"
                exit ;;
        esac ;;
     i*:UWIN*:*)
-       echo ${UNAME_MACHINE}-pc-uwin
+       echo "$UNAME_MACHINE"-pc-uwin
        exit ;;
     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
        echo x86_64-unknown-cygwin
        exit ;;
     prep*:SunOS:5.*:*)
-       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
        exit ;;
     *:GNU:*:*)
        # the GNU system
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
        exit ;;
     *:GNU/*:*:*)
        # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+       echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
        exit ;;
     i*86:Minix:*:*)
-       echo ${UNAME_MACHINE}-pc-minix
+       echo "$UNAME_MACHINE"-pc-minix
        exit ;;
     aarch64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     aarch64_be:Linux:*:*)
        UNAME_MACHINE=aarch64_be
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     alpha:Linux:*:*)
        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -906,63 +916,63 @@ EOF
        esac
        objdump --private-headers /bin/sh | grep -q ld.so.1
        if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     arm*:Linux:*:*)
-       eval $set_cc_for_build
+       eval "$set_cc_for_build"
        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
            | grep -q __ARM_EABI__
        then
-           echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+           echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        else
            if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
                | grep -q __ARM_PCS_VFP
            then
-               echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+               echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
            else
-               echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+               echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
            fi
        fi
        exit ;;
     avr32*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     cris:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+       echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
        exit ;;
     crisv32:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+       echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
        exit ;;
     e2k:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     frv:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     hexagon:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     i*86:Linux:*:*)
-       echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+       echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
        exit ;;
     ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     k1om:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
+       eval "$set_cc_for_build"
+       sed 's/^        //' << EOF > "$dummy.c"
        #undef CPU
        #undef ${UNAME_MACHINE}
        #undef ${UNAME_MACHINE}el
@@ -976,70 +986,74 @@ EOF
        #endif
        #endif
 EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+       eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
+       test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
        ;;
     mips64el:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     openrisc*:Linux:*:*)
-       echo or1k-unknown-linux-${LIBC}
+       echo or1k-unknown-linux-"$LIBC"
        exit ;;
     or32:Linux:*:* | or1k*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     padre:Linux:*:*)
-       echo sparc-unknown-linux-${LIBC}
+       echo sparc-unknown-linux-"$LIBC"
        exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-${LIBC}
+       echo hppa64-unknown-linux-"$LIBC"
        exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
        # Look for CPU level
        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
-         PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
-         *)    echo hppa-unknown-linux-${LIBC} ;;
+         PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
+         PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
+         *)    echo hppa-unknown-linux-"$LIBC" ;;
        esac
        exit ;;
     ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-${LIBC}
+       echo powerpc64-unknown-linux-"$LIBC"
        exit ;;
     ppc:Linux:*:*)
-       echo powerpc-unknown-linux-${LIBC}
+       echo powerpc-unknown-linux-"$LIBC"
        exit ;;
     ppc64le:Linux:*:*)
-       echo powerpc64le-unknown-linux-${LIBC}
+       echo powerpc64le-unknown-linux-"$LIBC"
        exit ;;
     ppcle:Linux:*:*)
-       echo powerpcle-unknown-linux-${LIBC}
+       echo powerpcle-unknown-linux-"$LIBC"
        exit ;;
     riscv32:Linux:*:* | riscv64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+       echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
        exit ;;
     sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     tile*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     vax:Linux:*:*)
-       echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+       echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
        exit ;;
     x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+       if objdump -f /bin/sh | grep -q elf32-x86-64; then
+           echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32
+       else
+           echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
+       fi
        exit ;;
     xtensa*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
        exit ;;
     i*86:DYNIX/ptx:4*:*)
        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1053,34 +1067,34 @@ EOF
        # I am not positive that other SVR4 systems won't match this,
        # I just have to hope.  -- rms.
        # Use sysv4.2uw... so that sysv4* matches it.
-       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+       echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
        exit ;;
     i*86:OS/2:*:*)
        # If we were able to find `uname', then EMX Unix compatibility
        # is probably installed.
-       echo ${UNAME_MACHINE}-pc-os2-emx
+       echo "$UNAME_MACHINE"-pc-os2-emx
        exit ;;
     i*86:XTS-300:*:STOP)
-       echo ${UNAME_MACHINE}-unknown-stop
+       echo "$UNAME_MACHINE"-unknown-stop
        exit ;;
     i*86:atheos:*:*)
-       echo ${UNAME_MACHINE}-unknown-atheos
+       echo "$UNAME_MACHINE"-unknown-atheos
        exit ;;
     i*86:syllable:*:*)
-       echo ${UNAME_MACHINE}-pc-syllable
+       echo "$UNAME_MACHINE"-pc-syllable
        exit ;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-       echo i386-unknown-lynxos${UNAME_RELEASE}
+       echo i386-unknown-lynxos"$UNAME_RELEASE"
        exit ;;
     i*86:*DOS:*:*)
-       echo ${UNAME_MACHINE}-pc-msdosdjgpp
+       echo "$UNAME_MACHINE"-pc-msdosdjgpp
        exit ;;
     i*86:*:4.*:*)
-       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+       UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+               echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
        else
-               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+               echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
        fi
        exit ;;
     i*86:*:5:[678]*)
@@ -1090,12 +1104,12 @@ EOF
            *Pentium)        UNAME_MACHINE=i586 ;;
            *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
        esac
-       echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+       echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
        exit ;;
     i*86:*:3.2:*)
        if test -f /usr/options/cb.name; then
                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+               echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
        elif /bin/uname -X 2>/dev/null >/dev/null ; then
                UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
                (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1105,9 +1119,9 @@ EOF
                        && UNAME_MACHINE=i686
                (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
                        && UNAME_MACHINE=i686
-               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+               echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
        else
-               echo ${UNAME_MACHINE}-pc-sysv32
+               echo "$UNAME_MACHINE"-pc-sysv32
        fi
        exit ;;
     pc:*:*:*)
@@ -1127,9 +1141,9 @@ EOF
        exit ;;
     i860:*:4.*:*) # i860-SVR4
        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+         echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
        else # Add other i860-SVR4 vendors below as they are discovered.
-         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+         echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
        fi
        exit ;;
     mini*:CTIX:SYS*5:*)
@@ -1149,9 +1163,9 @@ EOF
        test -r /etc/.relid \
        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+         && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+         && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
          && { echo i486-ncr-sysv4; exit; } ;;
@@ -1160,28 +1174,28 @@ EOF
        test -r /etc/.relid \
            && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+           && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-           && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+           && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
        /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+           && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-       echo m68k-unknown-lynxos${UNAME_RELEASE}
+       echo m68k-unknown-lynxos"$UNAME_RELEASE"
        exit ;;
     mc68030:UNIX_System_V:4.*:*)
        echo m68k-atari-sysv4
        exit ;;
     TSUNAMI:LynxOS:2.*:*)
-       echo sparc-unknown-lynxos${UNAME_RELEASE}
+       echo sparc-unknown-lynxos"$UNAME_RELEASE"
        exit ;;
     rs6000:LynxOS:2.*:*)
-       echo rs6000-unknown-lynxos${UNAME_RELEASE}
+       echo rs6000-unknown-lynxos"$UNAME_RELEASE"
        exit ;;
     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-       echo powerpc-unknown-lynxos${UNAME_RELEASE}
+       echo powerpc-unknown-lynxos"$UNAME_RELEASE"
        exit ;;
     SM[BE]S:UNIX_SV:*:*)
-       echo mips-dde-sysv${UNAME_RELEASE}
+       echo mips-dde-sysv"$UNAME_RELEASE"
        exit ;;
     RM*:ReliantUNIX-*:*:*)
        echo mips-sni-sysv4
@@ -1192,7 +1206,7 @@ EOF
     *:SINIX-*:*:*)
        if uname -p 2>/dev/null >/dev/null ; then
                UNAME_MACHINE=`(uname -p) 2>/dev/null`
-               echo ${UNAME_MACHINE}-sni-sysv4
+               echo "$UNAME_MACHINE"-sni-sysv4
        else
                echo ns32k-sni-sysv
        fi
@@ -1212,23 +1226,23 @@ EOF
        exit ;;
     i*86:VOS:*:*)
        # From Paul.Green@stratus.com.
-       echo ${UNAME_MACHINE}-stratus-vos
+       echo "$UNAME_MACHINE"-stratus-vos
        exit ;;
     *:VOS:*:*)
        # From Paul.Green@stratus.com.
        echo hppa1.1-stratus-vos
        exit ;;
     mc68*:A/UX:*:*)
-       echo m68k-apple-aux${UNAME_RELEASE}
+       echo m68k-apple-aux"$UNAME_RELEASE"
        exit ;;
     news*:NEWS-OS:6*:*)
        echo mips-sony-newsos6
        exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
        if [ -d /usr/nec ]; then
-               echo mips-nec-sysv${UNAME_RELEASE}
+               echo mips-nec-sysv"$UNAME_RELEASE"
        else
-               echo mips-unknown-sysv${UNAME_RELEASE}
+               echo mips-unknown-sysv"$UNAME_RELEASE"
        fi
        exit ;;
     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
@@ -1247,39 +1261,39 @@ EOF
        echo x86_64-unknown-haiku
        exit ;;
     SX-4:SUPER-UX:*:*)
-       echo sx4-nec-superux${UNAME_RELEASE}
+       echo sx4-nec-superux"$UNAME_RELEASE"
        exit ;;
     SX-5:SUPER-UX:*:*)
-       echo sx5-nec-superux${UNAME_RELEASE}
+       echo sx5-nec-superux"$UNAME_RELEASE"
        exit ;;
     SX-6:SUPER-UX:*:*)
-       echo sx6-nec-superux${UNAME_RELEASE}
+       echo sx6-nec-superux"$UNAME_RELEASE"
        exit ;;
     SX-7:SUPER-UX:*:*)
-       echo sx7-nec-superux${UNAME_RELEASE}
+       echo sx7-nec-superux"$UNAME_RELEASE"
        exit ;;
     SX-8:SUPER-UX:*:*)
-       echo sx8-nec-superux${UNAME_RELEASE}
+       echo sx8-nec-superux"$UNAME_RELEASE"
        exit ;;
     SX-8R:SUPER-UX:*:*)
-       echo sx8r-nec-superux${UNAME_RELEASE}
+       echo sx8r-nec-superux"$UNAME_RELEASE"
        exit ;;
     SX-ACE:SUPER-UX:*:*)
-       echo sxace-nec-superux${UNAME_RELEASE}
+       echo sxace-nec-superux"$UNAME_RELEASE"
        exit ;;
     Power*:Rhapsody:*:*)
-       echo powerpc-apple-rhapsody${UNAME_RELEASE}
+       echo powerpc-apple-rhapsody"$UNAME_RELEASE"
        exit ;;
     *:Rhapsody:*:*)
-       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
        exit ;;
     *:Darwin:*:*)
        UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-       eval $set_cc_for_build
+       eval "$set_cc_for_build"
        if test "$UNAME_PROCESSOR" = unknown ; then
            UNAME_PROCESSOR=powerpc
        fi
-       if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+       if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
            if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
                if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
                       (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
@@ -1307,7 +1321,7 @@ EOF
            # that Apple uses in portable devices.
            UNAME_PROCESSOR=x86_64
        fi
-       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+       echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
        exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
        UNAME_PROCESSOR=`uname -p`
@@ -1315,22 +1329,25 @@ EOF
                UNAME_PROCESSOR=i386
                UNAME_MACHINE=pc
        fi
-       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+       echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
        exit ;;
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit ;;
     NEO-*:NONSTOP_KERNEL:*:*)
-       echo neo-tandem-nsk${UNAME_RELEASE}
+       echo neo-tandem-nsk"$UNAME_RELEASE"
        exit ;;
     NSE-*:NONSTOP_KERNEL:*:*)
-       echo nse-tandem-nsk${UNAME_RELEASE}
+       echo nse-tandem-nsk"$UNAME_RELEASE"
        exit ;;
     NSR-*:NONSTOP_KERNEL:*:*)
-       echo nsr-tandem-nsk${UNAME_RELEASE}
+       echo nsr-tandem-nsk"$UNAME_RELEASE"
+       exit ;;
+    NSV-*:NONSTOP_KERNEL:*:*)
+       echo nsv-tandem-nsk"$UNAME_RELEASE"
        exit ;;
     NSX-*:NONSTOP_KERNEL:*:*)
-       echo nsx-tandem-nsk${UNAME_RELEASE}
+       echo nsx-tandem-nsk"$UNAME_RELEASE"
        exit ;;
     *:NonStop-UX:*:*)
        echo mips-compaq-nonstopux
@@ -1339,7 +1356,7 @@ EOF
        echo bs2000-siemens-sysv
        exit ;;
     DS/*:UNIX_System_V:*:*)
-       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+       echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
        exit ;;
     *:Plan9:*:*)
        # "uname -m" is not consistent, so use $cputype instead. 386
@@ -1350,7 +1367,7 @@ EOF
        else
            UNAME_MACHINE="$cputype"
        fi
-       echo ${UNAME_MACHINE}-unknown-plan9
+       echo "$UNAME_MACHINE"-unknown-plan9
        exit ;;
     *:TOPS-10:*:*)
        echo pdp10-unknown-tops10
@@ -1371,14 +1388,14 @@ EOF
        echo pdp10-unknown-its
        exit ;;
     SEI:*:*:SEIUX)
-       echo mips-sei-seiux${UNAME_RELEASE}
+       echo mips-sei-seiux"$UNAME_RELEASE"
        exit ;;
     *:DragonFly:*:*)
-       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
        exit ;;
     *:*VMS:*:*)
        UNAME_MACHINE=`(uname -p) 2>/dev/null`
-       case "${UNAME_MACHINE}" in
+       case "$UNAME_MACHINE" in
            A*) echo alpha-dec-vms ; exit ;;
            I*) echo ia64-dec-vms ; exit ;;
            V*) echo vax-dec-vms ; exit ;;
@@ -1387,16 +1404,16 @@ EOF
        echo i386-pc-xenix
        exit ;;
     i*86:skyos:*:*)
-       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
+       echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
        exit ;;
     i*86:rdos:*:*)
-       echo ${UNAME_MACHINE}-pc-rdos
+       echo "$UNAME_MACHINE"-pc-rdos
        exit ;;
     i*86:AROS:*:*)
-       echo ${UNAME_MACHINE}-pc-aros
+       echo "$UNAME_MACHINE"-pc-aros
        exit ;;
     x86_64:VMkernel:*:*)
-       echo ${UNAME_MACHINE}-unknown-esx
+       echo "$UNAME_MACHINE"-unknown-esx
        exit ;;
     amd64:Isilon\ OneFS:*:*)
        echo x86_64-unknown-onefs
@@ -1405,7 +1422,7 @@ esac
 
 echo "$0: unable to guess system type" >&2
 
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM" in
     mips:Linux | mips64:Linux)
        # If we got here on MIPS GNU/Linux, output extra information.
        cat >&2 <<EOF
@@ -1447,10 +1464,10 @@ hostinfo               = `(hostinfo) 2>/dev/null`
 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
 
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM  = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
 EOF
 
 exit 1
index 00f68b8e5f3d6bf7321123f569ce5753493af5ea..1d8e98bcee23a0421e4fafe9a6c9ac75180cff25 100755 (executable)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2017 Free Software Foundation, Inc.
+#   Copyright 1992-2018 Free Software Foundation, Inc.
 
-timestamp='2017-11-23'
+timestamp='2018-02-22'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2018 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -94,7 +94,7 @@ while test $# -gt 0 ; do
 
     *local*)
        # First pass through any local machine types.
-       echo $1
+       echo "$1"
        exit ;;
 
     * )
@@ -112,7 +112,7 @@ esac
 
 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
 # Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
@@ -120,16 +120,16 @@ case $maybe_os in
   kopensolaris*-gnu* | cloudabi*-eabi* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
   android-linux)
     os=-linux-android
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+    basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
     ;;
   *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
+    basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
+    if [ "$basic_machine" != "$1" ]
+    then os=`echo "$1" | sed 's/.*-/-/'`
     else os=; fi
     ;;
 esac
@@ -178,44 +178,44 @@ case $os in
                ;;
        -sco6)
                os=-sco5v6
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
                ;;
        -sco5)
                os=-sco3.2v5
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
                ;;
        -sco4)
                os=-sco3.2v4
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
                ;;
        -sco3.2.[4-9]*)
                os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
                ;;
        -sco3.2v[4-9]*)
                # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
                ;;
        -sco5v6*)
                # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
                ;;
        -sco*)
                os=-sco3.2v2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
                ;;
        -udk*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
                ;;
        -isc)
                os=-isc2.2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
                ;;
        -clix*)
                basic_machine=clipper-intergraph
                ;;
        -isc*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
                ;;
        -lynx*178)
                os=-lynxos178
@@ -227,7 +227,7 @@ case $os in
                os=-lynxos
                ;;
        -ptx*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+               basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
                ;;
        -psos*)
                os=-psos
@@ -296,7 +296,7 @@ case $basic_machine in
        | nios | nios2 | nios2eb | nios2el \
        | ns16k | ns32k \
        | open8 | or1k | or1knd | or32 \
-       | pdp10 | pdp11 | pj | pjl \
+       | pdp10 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pru \
        | pyramid \
@@ -333,7 +333,7 @@ case $basic_machine in
                basic_machine=$basic_machine-unknown
                os=-none
                ;;
-       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
                ;;
        ms1)
                basic_machine=mt-unknown
@@ -362,7 +362,7 @@ case $basic_machine in
          ;;
        # Object if more than one company name word.
        *-*-*)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
                exit 1
                ;;
        # Recognize the basic CPU types with company name.
@@ -457,7 +457,7 @@ case $basic_machine in
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
        386bsd)
-               basic_machine=i386-unknown
+               basic_machine=i386-pc
                os=-bsd
                ;;
        3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
@@ -491,7 +491,7 @@ case $basic_machine in
                basic_machine=x86_64-pc
                ;;
        amd64-*)
-               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        amdahl)
                basic_machine=580-amdahl
@@ -536,7 +536,7 @@ case $basic_machine in
                os=-linux
                ;;
        blackfin-*)
-               basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                os=-linux
                ;;
        bluegene*)
@@ -544,13 +544,13 @@ case $basic_machine in
                os=-cnk
                ;;
        c54x-*)
-               basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        c55x-*)
-               basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        c6x-*)
-               basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        c90)
                basic_machine=c90-cray
@@ -648,7 +648,7 @@ case $basic_machine in
                os=$os"spe"
                ;;
        e500v[12]-*)
-               basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                os=$os"spe"
                ;;
        ebmon29k)
@@ -740,9 +740,6 @@ case $basic_machine in
        hp9k8[0-9][0-9] | hp8[0-9][0-9])
                basic_machine=hppa1.0-hp
                ;;
-       hppa-next)
-               os=-nextstep3
-               ;;
        hppaosf)
                basic_machine=hppa1.1-hp
                os=-osf
@@ -755,26 +752,26 @@ case $basic_machine in
                basic_machine=i370-ibm
                ;;
        i*86v32)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
                os=-sysv32
                ;;
        i*86v4*)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
                os=-sysv4
                ;;
        i*86v)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
                os=-sysv
                ;;
        i*86sol2)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
                os=-solaris2
                ;;
        i386mach)
                basic_machine=i386-mach
                os=-mach
                ;;
-       i386-vsta | vsta)
+       vsta)
                basic_machine=i386-unknown
                os=-vsta
                ;;
@@ -793,19 +790,16 @@ case $basic_machine in
                os=-sysv
                ;;
        leon-*|leon[3-9]-*)
-               basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+               basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
                ;;
        m68knommu)
                basic_machine=m68k-unknown
                os=-linux
                ;;
        m68knommu-*)
-               basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                os=-linux
                ;;
-       m88k-omron*)
-               basic_machine=m88k-omron
-               ;;
        magnum | m3230)
                basic_machine=mips-mips
                os=-sysv
@@ -837,10 +831,10 @@ case $basic_machine in
                os=-mint
                ;;
        mips3*-*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+               basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
                ;;
        mips3*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+               basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
                ;;
        monitor)
                basic_machine=m68k-rom68k
@@ -859,7 +853,7 @@ case $basic_machine in
                os=-msdos
                ;;
        ms1-*)
-               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+               basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
                ;;
        msys)
                basic_machine=i686-pc
@@ -946,6 +940,9 @@ case $basic_machine in
        nsr-tandem)
                basic_machine=nsr-tandem
                ;;
+       nsv-tandem)
+               basic_machine=nsv-tandem
+               ;;
        nsx-tandem)
                basic_machine=nsx-tandem
                ;;
@@ -981,7 +978,7 @@ case $basic_machine in
                os=-linux
                ;;
        parisc-*)
-               basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                os=-linux
                ;;
        pbd)
@@ -997,7 +994,7 @@ case $basic_machine in
                basic_machine=i386-pc
                ;;
        pc98-*)
-               basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        pentium | p5 | k5 | k6 | nexgen | viac3)
                basic_machine=i586-pc
@@ -1012,16 +1009,16 @@ case $basic_machine in
                basic_machine=i786-pc
                ;;
        pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        pentiumpro-* | p6-* | 6x86-* | athlon-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        pentium4-*)
-               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        pn)
                basic_machine=pn-gould
@@ -1031,23 +1028,23 @@ case $basic_machine in
        ppc | ppcbe)    basic_machine=powerpc-unknown
                ;;
        ppc-* | ppcbe-*)
-               basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        ppcle | powerpclittle)
                basic_machine=powerpcle-unknown
                ;;
        ppcle-* | powerpclittle-*)
-               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        ppc64)  basic_machine=powerpc64-unknown
                ;;
-       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+       ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        ppc64le | powerpc64little)
                basic_machine=powerpc64le-unknown
                ;;
        ppc64le-* | powerpc64little-*)
-               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        ps2)
                basic_machine=i386-ibm
@@ -1101,17 +1098,10 @@ case $basic_machine in
        sequent)
                basic_machine=i386-sequent
                ;;
-       sh)
-               basic_machine=sh-hitachi
-               os=-hms
-               ;;
        sh5el)
                basic_machine=sh5le-unknown
                ;;
-       sh64)
-               basic_machine=sh64-unknown
-               ;;
-       sparclite-wrs | simso-wrs)
+       simso-wrs)
                basic_machine=sparclite-wrs
                os=-vxworks
                ;;
@@ -1130,7 +1120,7 @@ case $basic_machine in
                os=-sysv4
                ;;
        strongarm-* | thumb-*)
-               basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+               basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
                ;;
        sun2)
                basic_machine=m68000-sun
@@ -1244,9 +1234,6 @@ case $basic_machine in
                basic_machine=a29k-wrs
                os=-vxworks
                ;;
-       wasm32)
-               basic_machine=wasm32-unknown
-               ;;
        w65*)
                basic_machine=w65-wdc
                os=-none
@@ -1266,20 +1253,12 @@ case $basic_machine in
                basic_machine=xps100-honeywell
                ;;
        xscale-* | xscalee[bl]-*)
-               basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+               basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
                ;;
        ymp)
                basic_machine=ymp-cray
                os=-unicos
                ;;
-       z8k-*-coff)
-               basic_machine=z8k-unknown
-               os=-sim
-               ;;
-       z80-*-coff)
-               basic_machine=z80-unknown
-               os=-sim
-               ;;
        none)
                basic_machine=none-none
                os=-none
@@ -1308,10 +1287,6 @@ case $basic_machine in
        vax)
                basic_machine=vax-dec
                ;;
-       pdp10)
-               # there are many clones, so DEC is not a safe bet
-               basic_machine=pdp10-unknown
-               ;;
        pdp11)
                basic_machine=pdp11-dec
                ;;
@@ -1321,9 +1296,6 @@ case $basic_machine in
        sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
                basic_machine=sh-unknown
                ;;
-       sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-               basic_machine=sparc-sun
-               ;;
        cydra)
                basic_machine=cydra-cydrome
                ;;
@@ -1343,7 +1315,7 @@ case $basic_machine in
                # Make sure to match an already-canonicalized machine name.
                ;;
        *)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
                exit 1
                ;;
 esac
@@ -1351,10 +1323,10 @@ esac
 # Here we canonicalize certain aliases for manufacturers.
 case $basic_machine in
        *-digital*)
-               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+               basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
                ;;
        *-commodore*)
-               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+               basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
                ;;
        *)
                ;;
@@ -1377,15 +1349,16 @@ case $os in
        -solaris)
                os=-solaris2
                ;;
-       -svr4*)
-               os=-sysv4
-               ;;
        -unixware*)
                os=-sysv4.2uw
                ;;
        -gnu/linux*)
                os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
                ;;
+       # es1800 is here to avoid being matched by es* (a different OS)
+       -es1800*)
+               os=-ose
+               ;;
        # Now accept the basic system types.
        # The portable systems comes first.
        # Each alternative MUST end in a * to match a version number.
@@ -1398,7 +1371,7 @@ case $os in
              | -aos* | -aros* | -cloudabi* | -sortix* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+             | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
              | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
              | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
              | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
@@ -1409,14 +1382,15 @@ case $os in
              | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
              | -linux-newlib* | -linux-musl* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
-             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+             | -morphos* | -superux* | -rtmk* | -windiss* \
              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
              | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
-             | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
+             | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
+             | -midnightbsd*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1433,12 +1407,12 @@ case $os in
        -nto*)
                os=`echo $os | sed -e 's|nto|nto-qnx|'`
                ;;
-       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+       -sim | -xray | -os68k* | -v88r* \
+             | -windows* | -osx | -abug | -netware* | -os9* \
              | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
                ;;
        -mac*)
-               os=`echo $os | sed -e 's|mac|macos|'`
+               os=`echo "$os" | sed -e 's|mac|macos|'`
                ;;
        -linux-dietlibc)
                os=-linux-dietlibc
@@ -1447,10 +1421,10 @@ case $os in
                os=`echo $os | sed -e 's|linux|linux-gnu|'`
                ;;
        -sunos5*)
-               os=`echo $os | sed -e 's|sunos5|solaris2|'`
+               os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
                ;;
        -sunos6*)
-               os=`echo $os | sed -e 's|sunos6|solaris3|'`
+               os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
                ;;
        -opened*)
                os=-openedition
@@ -1461,12 +1435,6 @@ case $os in
        -wince*)
                os=-wince
                ;;
-       -osfrose*)
-               os=-osfrose
-               ;;
-       -osf*)
-               os=-osf
-               ;;
        -utek*)
                os=-bsd
                ;;
@@ -1513,7 +1481,7 @@ case $os in
        -oss*)
                os=-sysv3
                ;;
-       -svr4)
+       -svr4*)
                os=-sysv4
                ;;
        -svr3)
@@ -1528,18 +1496,9 @@ case $os in
        -ose*)
                os=-ose
                ;;
-       -es1800*)
-               os=-ose
-               ;;
-       -xenix)
-               os=-xenix
-               ;;
        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
                os=-mint
                ;;
-       -aros*)
-               os=-aros
-               ;;
        -zvmoe)
                os=-zvmoe
                ;;
@@ -1568,7 +1527,7 @@ case $os in
        *)
                # Get rid of the `-' at the beginning of $os.
                os=`echo $os | sed 's/[^-]*-//'`
-               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+               echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
                exit 1
                ;;
 esac
@@ -1664,9 +1623,6 @@ case $basic_machine in
        *-be)
                os=-beos
                ;;
-       *-haiku)
-               os=-haiku
-               ;;
        *-ibm)
                os=-aix
                ;;
@@ -1721,9 +1677,6 @@ case $basic_machine in
        i370-*)
                os=-mvs
                ;;
-       *-next)
-               os=-nextstep3
-               ;;
        *-gould)
                os=-sysv
                ;;
@@ -1833,11 +1786,11 @@ case $basic_machine in
                                vendor=stratus
                                ;;
                esac
-               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+               basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
                ;;
 esac
 
-echo $basic_machine$os
+echo "$basic_machine$os"
 exit
 
 # Local variables:
index 85e0829a49665dc5f9fbb18cfeb7fcb762f7b900..6581c68f4fe52f28b4041e2e8ca160987c64fb74 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for MPFR 4.0.1.
+# Generated by GNU Autoconf 2.69 for MPFR 4.0.2.
 #
 #
-# Copyright 1999-2018 Free Software Foundation, Inc.
+# Copyright 1999-2019 Free Software Foundation, Inc.
 # Contributed by the AriC and Caramba projects, INRIA.
 #
 # This file is part of the GNU MPFR Library.
@@ -20,7 +20,7 @@
 #
 # You should have received a copy of the GNU Lesser General Public License
 # along with the GNU MPFR Library; see the file COPYING.LESSER.  If not, see
-# http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
+# https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
 # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 #
@@ -609,8 +609,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='MPFR'
 PACKAGE_TARNAME='mpfr'
-PACKAGE_VERSION='4.0.1'
-PACKAGE_STRING='MPFR 4.0.1'
+PACKAGE_VERSION='4.0.2'
+PACKAGE_STRING='MPFR 4.0.2'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -658,11 +658,11 @@ DATAFILES
 LIBMPFR_LDFLAGS
 MPFR_LDFLAGS
 TUNE_LIBS
+ALLOCA
 PTHREAD_CFLAGS
 PTHREAD_LIBS
 PTHREAD_CC
 ax_pthread_config
-ALLOCA
 MPFR_LIBQUADMATH
 MPFR_LIBM
 LT_SYS_LIBRARY_PATH
@@ -693,7 +693,6 @@ am__nodep
 AMDEPBACKSLASH
 AMDEP_FALSE
 AMDEP_TRUE
-am__quote
 am__include
 DEPDIR
 OBJEXT
@@ -782,7 +781,8 @@ PACKAGE_VERSION
 PACKAGE_TARNAME
 PACKAGE_NAME
 PATH_SEPARATOR
-SHELL'
+SHELL
+am__quote'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
@@ -1376,7 +1376,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures MPFR 4.0.1 to adapt to many kinds of systems.
+\`configure' configures MPFR 4.0.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1447,7 +1447,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of MPFR 4.0.1:";;
+     short | recursive ) echo "Configuration of MPFR 4.0.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1595,7 +1595,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-MPFR configure 4.0.1
+MPFR configure 4.0.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1603,7 +1603,7 @@ This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 
 
-Copyright 1999-2018 Free Software Foundation, Inc.
+Copyright 1999-2019 Free Software Foundation, Inc.
 Contributed by the AriC and Caramba projects, INRIA.
 
 This file is part of the GNU MPFR Library.
@@ -1620,7 +1620,7 @@ License for more details.
 
 You should have received a copy of the GNU Lesser General Public License
 along with the GNU MPFR Library; see the file COPYING.LESSER.  If not, see
-http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
+https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 _ACEOF
@@ -2027,8 +2027,8 @@ esac
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
+static long int longval (void) { return $2; }
+static unsigned long int ulongval (void) { return $2; }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -2276,7 +2276,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by MPFR $as_me 4.0.1, which was
+It was created by MPFR $as_me 4.0.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2625,7 +2625,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-am__api_version='1.15'
+am__api_version='1.16'
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -3140,7 +3140,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='mpfr'
- VERSION='4.0.1'
+ VERSION='4.0.2'
 
 
 # Some tools Automake needs.
@@ -3161,8 +3161,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
 # For better backward compatibility.  To be removed once Automake 1.9.x
 # dies out for good.  For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
 # We need awk for the "check" target (and possibly the TAP driver).  The
@@ -3213,7 +3213,7 @@ END
 Aborting the configuration process, to ensure you take notice of the issue.
 
 You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
 
 If you want to complete the configuration process using your problematic
 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
@@ -3755,9 +3755,9 @@ fi
 # Check whether --enable-shared-cache was given.
 if test "${enable_shared_cache+set}" = set; then :
   enableval=$enable_shared_cache;  case $enableval in
-      yes) mpfr_want_shared_cache=yes
+      yes)
 
-$as_echo "#define WANT_SHARED_CACHE 1" >>confdefs.h
+$as_echo "#define MPFR_WANT_SHARED_CACHE 1" >>confdefs.h
  ;;
       no)  ;;
       *) as_fn_error $? "bad value for --enable-shared-cache: yes or no" "$LINENO" 5 ;;
@@ -3807,6 +3807,32 @@ $as_echo "#define MPFR_TUNE_COVERAGE 1" >>confdefs.h
 fi
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether configure options are compatible" >&5
+$as_echo_n "checking whether configure options are compatible... " >&6; }
+if test "$enable_logging" = yes; then
+  if test "$enable_thread_safe" = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    as_fn_error $? "enable either logging or thread-safe, not both" "$LINENO" 5
+  fi
+  if test "$enable_shared_cache" = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    as_fn_error $? "shared cache does not work with logging support" "$LINENO" 5
+  fi
+  enable_thread_safe=no
+fi
+if test "$enable_shared_cache" = yes; then
+  if test "$enable_thread_safe" = no; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    as_fn_error $? "shared cache needs thread-safe support" "$LINENO" 5
+  fi
+  enable_thread_safe=yes
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
 
 
 
@@ -3835,11 +3861,9 @@ $as_echo_n "checking for CC and CFLAGS in gmp.h... " >&6; }
      # Get CFLAGS
      echo "#include \"gmp.h\"" >  conftest.c
      echo "MPFR_OPTION __GMP_CFLAGS" >> conftest.c
-     unset rmpedantic
-     test "$enable_logging" = yes && rmpedantic='s/[ "]-pedantic[ "]/ /g;'
      $cpp $CPPFLAGS conftest.c 2> /dev/null > conftest.txt
      test $? -ne 0 && continue
-     GMP_CFLAGS=`$EGREP MPFR_OPTION conftest.txt | $SED -e "$rmpedantic"'s/MPFR_OPTION //g;s/ *" *//g'`
+     GMP_CFLAGS=`$EGREP MPFR_OPTION conftest.txt | $SED -e 's/[ "]-pedantic[ "]/ /g;s/MPFR_OPTION //g;s/ *" *//g'`
      break
    done
    rm -f conftest*
@@ -4724,45 +4748,45 @@ DEPDIR="${am__leading_dot}deps"
 
 ac_config_commands="$ac_config_commands depfiles"
 
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
+$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
+cat > confinc.mk << 'END'
 am__doit:
-       @echo this is the am__doit target
+       @echo this is the am__doit target >confinc.out
 .PHONY: am__doit
 END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
 am__include="#"
 am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
+# BSD make does it like this.
+echo '.include "confinc.mk" # ignored' > confmf.BSD
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+echo 'include confinc.mk # ignored' > confmf.GNU
+_am_result=no
+for s in GNU BSD; do
+  { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
+   (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+  case $?:`cat confinc.out 2>/dev/null` in #(
+  '0:this is the am__doit target') :
+    case $s in #(
+  BSD) :
+    am__include='.include' am__quote='"' ;; #(
+  *) :
+    am__include='include' am__quote='' ;;
+esac ;; #(
+  *) :
      ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
+esac
+  if test "$am__include" != "#"; then
+    _am_result="yes ($s style)"
+    break
+  fi
+done
+rm -f confinc.* confmf.*
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
+$as_echo "${_am_result}" >&6; }
 
 # Check whether --enable-dependency-tracking was given.
 if test "${enable_dependency_tracking+set}" = set; then :
@@ -7194,11 +7218,8 @@ _LT_EOF
   test $ac_status = 0; }; then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
+    $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5
+    if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
        mv -f "$nlist"T "$nlist"
@@ -13466,7 +13487,7 @@ if ac_fn_c_try_compile "$LINENO"; then :
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-    CFLAGS="-Wmissing-prototypes $CFLAGS"
+    CFLAGS="-Wmissing-prototypes -Wc++-compat $CFLAGS"
 
 else
 
 
 
 
-ac_fn_c_check_header_mongrel "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default"
-if test "x$ac_cv_header_limits_h" = xyes; then :
-
-else
-  as_fn_error $? "limits.h not found" "$LINENO" 5
-fi
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "float.h" "ac_cv_header_float_h" "$ac_includes_default"
-if test "x$ac_cv_header_float_h" = xyes; then :
-
-else
-  as_fn_error $? "float.h not found" "$LINENO" 5
-fi
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default"
-if test "x$ac_cv_header_string_h" = xyes; then :
-
-else
-  as_fn_error $? "string.h not found" "$LINENO" 5
-fi
 
+if test "$enable_shared_cache" = yes; then
 
 
-for ac_header in locale.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default"
-if test "x$ac_cv_header_locale_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LOCALE_H 1
-_ACEOF
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C11 thread support" >&5
+$as_echo_n "checking for ISO C11 thread support... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-fi
+#include <assert.h>
+#include <threads.h>
+ mtx_t lock;
+ once_flag once = ONCE_FLAG_INIT;
+ thrd_t thd_idx;
+ int x = 0;
+ void once_call (void) { x = 1; }
 
-done
+int
+main (void)
+{
 
+    int err;
+    err = mtx_init(&lock, mtx_plain);
+    assert(err == thrd_success);
+    err = mtx_lock(&lock);
+    assert(err == thrd_success);
+    err = mtx_unlock(&lock);
+    assert(err == thrd_success);
+    mtx_destroy(&lock);
+    once_call(&once, once_call);
+    return x == 1 ? 0 : -1;
 
-for ac_header in wchar.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default"
-if test "x$ac_cv_header_wchar_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_WCHAR_H 1
+  ;
+  return 0;
+}
 _ACEOF
-
-fi
-
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "stdarg.h" "ac_cv_header_stdarg_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdarg_h" = xyes; then :
-
-$as_echo "#define HAVE_STDARG 1" >>confdefs.h
-
-else
-  ac_fn_c_check_header_mongrel "$LINENO" "varargs.h" "ac_cv_header_varargs_h" "$ac_includes_default"
-if test "x$ac_cv_header_varargs_h" = xyes; then :
-
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       mpfr_c11_thread_ok=yes
 else
-  as_fn_error $? "stdarg.h or varargs.h not found" "$LINENO" 5
-fi
-
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
 
+if test "$mpfr_c11_thread_ok" = "yes"; then
 
-
-for ac_header in sys/time.h sys/fpu.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+$as_echo "#define MPFR_HAVE_C11_LOCK 1" >>confdefs.h
 
 fi
 
-done
-
 
-ac_fn_c_check_member "$LINENO" "struct lconv" "decimal_point" "ac_cv_member_struct_lconv_decimal_point" "#include <locale.h>
-"
-if test "x$ac_cv_member_struct_lconv_decimal_point" = xyes; then :
+  if test "$mpfr_c11_thread_ok" != yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_LCONV_DECIMAL_POINT 1
-_ACEOF
 
 
-fi
-ac_fn_c_check_member "$LINENO" "struct lconv" "thousands_sep" "ac_cv_member_struct_lconv_thousands_sep" "#include <locale.h>
-"
-if test "x$ac_cv_member_struct_lconv_thousands_sep" = xyes; then :
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_LCONV_THOUSANDS_SEP 1
-_ACEOF
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-fi
+ax_pthread_ok=no
 
+# We used to check for pthread.h first, but this fails if pthread.h
+# requires special compiler flags (e.g. on Tru64 or Sequent).
+# It gets checked for in the link test anyway.
 
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+# First of all, check if the user has set any of the PTHREAD_LIBS,
+# etcetera environment variables, and if threads linking works using
+# them:
+if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
+        ax_pthread_save_CC="$CC"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        if test "x$PTHREAD_CC" != "x"; then :
+  CC="$PTHREAD_CC"
+fi
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS" >&5
+$as_echo_n "checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS... " >&6; }
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <alloca.h>
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_join ();
 int
 main (void)
 {
-char *p = (char *) alloca (2 * sizeof (int));
-                         if (p) return 0;
+return pthread_join ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_working_alloca_h=yes
-else
-  ac_cv_working_alloca_h=no
+  ax_pthread_ok=yes
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5
+$as_echo "$ax_pthread_ok" >&6; }
+        if test "x$ax_pthread_ok" = "xno"; then
+                PTHREAD_LIBS=""
+                PTHREAD_CFLAGS=""
+        fi
+        CC="$ax_pthread_save_CC"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
 
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
+# We must check for the threads library under a number of different
+# names; the ordering is very important because some systems
+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
+# libraries is broken (non-POSIX).
 
-fi
+# Create a list of thread flags to try.  Items starting with a "-" are
+# C compiler flags, and other items are library names, except for "none"
+# which indicates that we try without any flags at all, and "pthread-config"
+# which is a program returning the flags for the Pth emulation library.
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-#    endif
-#   endif
-#  endif
-# endif
-#endif
+ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
 
-int
-main (void)
-{
-char *p = (char *) alloca (1);
-                                   if (p) return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_func_alloca_works=yes
-else
-  ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
+# The ordering *is* (sometimes) important.  Some notes on the
+# individual items follow:
 
-if test $ac_cv_func_alloca_works = yes; then
+# pthreads: AIX (must check this before -lpthread)
+# none: in case threads are in libc; should be tried before -Kthread and
+#       other compiler flags to prevent continual compiler warnings
+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
+#           (Note: HP C rejects this with "bad form for `-t' option")
+# -pthreads: Solaris/gcc (Note: HP C also rejects)
+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
+#      doesn't hurt to check since this sometimes defines pthreads and
+#      -D_REENTRANT too), HP C (must be checked before -lpthread, which
+#      is present but should not be used directly; and before -mthreads,
+#      because the compiler interprets this as "-mt" + "-hreads")
+# -mthreads: Mingw32/gcc, Lynx/gcc
+# pthread: Linux, etcetera
+# --thread-safe: KAI C++
+# pthread-config: use pthread-config program (for GNU Pth library)
 
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+case $host_os in
 
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
+        freebsd*)
 
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+        # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+        # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
 
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
+        ax_pthread_flags="-kthread lthread $ax_pthread_flags"
+        ;;
 
+        hpux*)
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+        # From the cc(1) man page: "[-mt] Sets various -D flags to enable
+        # multi-threading and also sets -lpthread."
+
+        ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
+        ;;
+
+        openedition*)
+
+        # IBM z/OS requires a feature-test macro to be defined in order to
+        # enable POSIX threads at all, so give the user a hint if this is
+        # not set. (We don't define these ourselves, as they can affect
+        # other portions of the system API in unpredictable ways.)
+
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
+
+#            if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
+             AX_PTHREAD_ZOS_MISSING
+#            endif
 
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then :
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
+  $EGREP "AX_PTHREAD_ZOS_MISSING" >/dev/null 2>&1; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&5
+$as_echo "$as_me: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&2;}
 fi
 rm -f conftest*
 
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+        ;;
 
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
+        solaris*)
 
-    break
+        # On Solaris (at least, for some versions), libc contains stubbed
+        # (non-functional) versions of the pthreads routines, so link-based
+        # tests will erroneously succeed. (N.B.: The stubs are missing
+        # pthread_cleanup_push, or rather a function called by this macro,
+        # so we could check for that, but who knows whether they'll stub
+        # that too in a future libc.)  So we'll check first for the
+        # standard Solaris way of linking pthreads (-mt -lpthread).
+
+        ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
+        ;;
+esac
+
+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
+
+if test "x$GCC" = "xyes"; then :
+  ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"
 fi
 
-  done
+# The presence of a feature test macro requesting re-entrant function
+# definitions is, on some systems, a strong hint that pthreads support is
+# correctly enabled
+
+case $host_os in
+        darwin* | hpux* | linux* | osf* | solaris*)
+        ax_pthread_check_macro="_REENTRANT"
+        ;;
+
+        aix*)
+        ax_pthread_check_macro="_THREAD_SAFE"
+        ;;
+
+        *)
+        ax_pthread_check_macro="--"
+        ;;
+esac
+if test "x$ax_pthread_check_macro" = "x--"; then :
+  ax_pthread_check_cond=0
+else
+  ax_pthread_check_cond="!defined($ax_pthread_check_macro)"
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
+# Are we compiling with Clang?
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC is Clang" >&5
+$as_echo_n "checking whether $CC is Clang... " >&6; }
+if ${ax_cv_PTHREAD_CLANG+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_c_stack_direction=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  ax_cv_PTHREAD_CLANG=no
+     # Note that Autoconf sets GCC=yes for Clang as well as GCC
+     if test "x$GCC" = "xyes"; then
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction (int *addr, int depth)
-{
-  int dir, dummy = 0;
-  if (! addr)
-    addr = &dummy;
-  *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
-  dir = depth ? find_stack_direction (addr, depth - 1) : 0;
-  return dir + dummy;
-}
+/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
+#            if defined(__clang__) && defined(__llvm__)
+             AX_PTHREAD_CC_IS_CLANG
+#            endif
 
-int
-main (int argc, char **argv)
-{
-  return find_stack_direction (0, argc + !argv + 20) < 0;
-}
 _ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_stack_direction=1
-else
-  ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "AX_PTHREAD_CC_IS_CLANG" >/dev/null 2>&1; then :
+  ax_cv_PTHREAD_CLANG=yes
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
+rm -f conftest*
 
+     fi
 
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG" >&5
+$as_echo "$ax_cv_PTHREAD_CLANG" >&6; }
+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
 
+ax_pthread_clang_warning=no
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to copy va_list" >&5
-$as_echo_n "checking how to copy va_list... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <stdarg.h>
-
-int
-main (void)
-{
+# Clang needs special handling, because older versions handle the -pthread
+# option in a rather... idiosyncratic way
 
-   va_list ap1, ap2;
-   va_copy(ap1, ap2);
+if test "x$ax_pthread_clang" = "xyes"; then
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+        # Clang takes -pthread; it has never supported any other flag
 
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: va_copy" >&5
-$as_echo "va_copy" >&6; }
-   $as_echo "#define HAVE_VA_COPY 1" >>confdefs.h
+        # (Note 1: This will need to be revisited if a system that Clang
+        # supports has POSIX threads in a separate library.  This tends not
+        # to be the way of modern systems, but it's conceivable.)
 
+        # (Note 2: On some systems, notably Darwin, -pthread is not needed
+        # to get POSIX threads support; the API is always present and
+        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
+        # -pthread does define _REENTRANT, and while the Darwin headers
+        # ignore this macro, third-party headers might not.)
 
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+        PTHREAD_CFLAGS="-pthread"
+        PTHREAD_LIBS=
 
-#include <stdarg.h>
+        ax_pthread_ok=yes
 
-int
-main (void)
-{
+        # However, older versions of Clang make a point of warning the user
+        # that, in an invocation where only linking and no compilation is
+        # taking place, the -pthread option has no effect ("argument unused
+        # during compilation").  They expect -pthread to be passed in only
+        # when source code is being compiled.
+        #
+        # Problem is, this is at odds with the way Automake and most other
+        # C build frameworks function, which is that the same flags used in
+        # compilation (CFLAGS) are also used in linking.  Many systems
+        # supported by AX_PTHREAD require exactly this for POSIX threads
+        # support, and in fact it is often not straightforward to specify a
+        # flag that is used only in the compilation phase and not in
+        # linking.  Such a scenario is extremely rare in practice.
+        #
+        # Even though use of the -pthread flag in linking would only print
+        # a warning, this can be a nuisance for well-run software projects
+        # that build with -Werror.  So if the active version of Clang has
+        # this misfeature, we search for an option to squash it.
 
-   va_list ap1, ap2;
-   __va_copy(ap1, ap2);
-
-  ;
-  return 0;
-}
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread" >&5
+$as_echo_n "checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread... " >&6; }
+if ${ax_cv_PTHREAD_CLANG_NO_WARN_FLAG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
+             # Create an alternate version of $ac_link that compiles and
+             # links in two steps (.c -> .o, .o -> exe) instead of one
+             # (.c -> exe), because the warning occurs only in the second
+             # step
+             ax_pthread_save_ac_link="$ac_link"
+             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
+             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
+             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
+             ax_pthread_save_CFLAGS="$CFLAGS"
+             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
+                if test "x$ax_pthread_try" = "xunknown"; then :
+  break
+fi
+                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+                ac_link="$ax_pthread_save_ac_link"
+                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int main(void){return 0;}
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  $as_echo "#define HAVE___VA_COPY 1" >>confdefs.h
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: __va_copy" >&5
-$as_echo "__va_copy" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: memcpy" >&5
-$as_echo "memcpy" >&6; }
+  ac_link="$ax_pthread_2step_ac_link"
+                     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int main(void){return 0;}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  break
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
+
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-
-for ac_func in memmove memset setlocale strtol gettimeofday signal
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
+             done
+             ac_link="$ax_pthread_save_ac_link"
+             CFLAGS="$ax_pthread_save_CFLAGS"
+             if test "x$ax_pthread_try" = "x"; then :
+  ax_pthread_try=no
 fi
-done
-
+             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigaction and its associated structure" >&5
-$as_echo_n "checking for sigaction and its associated structure... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&5
+$as_echo "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&6; }
 
-#include <signal.h>
-static int f (int (*func)(int, const struct sigaction *, struct sigaction *))
-{ return 0; }
+        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
+                no | unknown) ;;
+                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
+        esac
 
-int
-main (void)
-{
+fi # $ax_pthread_clang = yes
 
- return f(sigaction);
+if test "x$ax_pthread_ok" = "xno"; then
+for ax_pthread_try_flag in $ax_pthread_flags; do
 
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+        case $ax_pthread_try_flag in
+                none)
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5
+$as_echo_n "checking whether pthreads work without any flags... " >&6; }
+                ;;
 
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+                -mt,pthread)
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with -mt -lpthread" >&5
+$as_echo_n "checking whether pthreads work with -mt -lpthread... " >&6; }
+                PTHREAD_CFLAGS="-mt"
+                PTHREAD_LIBS="-lpthread"
+                ;;
 
-$as_echo "#define HAVE_SIGACTION 1" >>confdefs.h
+                -*)
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $ax_pthread_try_flag" >&5
+$as_echo_n "checking whether pthreads work with $ax_pthread_try_flag... " >&6; }
+                PTHREAD_CFLAGS="$ax_pthread_try_flag"
+                ;;
 
+                pthread-config)
+                # Extract the first word of "pthread-config", so it can be a program name with args.
+set dummy pthread-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ax_pthread_config+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ax_pthread_config"; then
+  ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ax_pthread_config="yes"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+  test -z "$ac_cv_prog_ax_pthread_config" && ac_cv_prog_ax_pthread_config="no"
+fi
+fi
+ax_pthread_config=$ac_cv_prog_ax_pthread_config
+if test -n "$ax_pthread_config"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5
+$as_echo "$ax_pthread_config" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-
-ac_fn_c_check_type "$LINENO" "long long int" "ac_cv_type_long_long_int" "$ac_includes_default"
-if test "x$ac_cv_type_long_long_int" = xyes; then :
 
-$as_echo "#define HAVE_LONG_LONG 1" >>confdefs.h
 
+                if test "x$ax_pthread_config" = "xno"; then :
+  continue
 fi
+                PTHREAD_CFLAGS="`pthread-config --cflags`"
+                PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
+                ;;
 
+                *)
+                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$ax_pthread_try_flag" >&5
+$as_echo_n "checking for the pthreads library -l$ax_pthread_try_flag... " >&6; }
+                PTHREAD_LIBS="-l$ax_pthread_try_flag"