changeset 40109:e2e6dc79463b

Defeat current GCC optimizations in math autoconf tests. * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'. * m4/ceil.m4 (gl_FUNC_CEIL): Likewise. * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise. * m4/ceill.m4 (gl_FUNC_CEILL): Likewise. * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise. * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise. * m4/floor.m4 (gl_FUNC_FLOOR): Likewise. * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise. * m4/fmod.m4 (gl_FUNC_FMOD): Likewise. * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise. * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise. * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise. * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise. * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise. * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise. * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise. * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise. * m4/log.m4 (gl_FUNC_LOG): Likewise. * m4/logf.m4 (gl_FUNC_LOGF): Likewise. * m4/log10.m4 (gl_FUNC_LOG10): Likewise. * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise. * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise. * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise. * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise. * m4/log2.m4 (gl_FUNC_LOG2): Likewise. * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise. * m4/modf.m4 (gl_FUNC_MODF): Likewise. * m4/modff.m4 (gl_FUNC_MODFF): Likewise. * m4/modfl.m4 (gl_FUNC_MODFL): Likewise. * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise. * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise. * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise. * m4/round.m4 (gl_FUNC_ROUND): Likewise. * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise. * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise. * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise. * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise. * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
author Bruno Haible <bruno@clisp.org>
date Sun, 20 Jan 2019 21:19:41 +0100
parents 2b0255784307
children 1a75ac6afa99
files ChangeLog m4/cbrtl.m4 m4/ceil.m4 m4/ceilf.m4 m4/ceill.m4 m4/exp2l.m4 m4/expm1.m4 m4/floor.m4 m4/floorf.m4 m4/fmod.m4 m4/fmodf.m4 m4/fmodl.m4 m4/hypot.m4 m4/hypotf.m4 m4/hypotl.m4 m4/ilogb.m4 m4/ilogbf.m4 m4/ilogbl.m4 m4/log.m4 m4/log10.m4 m4/log10f.m4 m4/log1p.m4 m4/log1pf.m4 m4/log1pl.m4 m4/log2.m4 m4/log2f.m4 m4/logf.m4 m4/modf.m4 m4/modff.m4 m4/modfl.m4 m4/remainder.m4 m4/remainderf.m4 m4/remainderl.m4 m4/round.m4 m4/roundf.m4 m4/roundl.m4 m4/trunc.m4 m4/truncf.m4 m4/truncl.m4
diffstat 39 files changed, 118 insertions(+), 76 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Jan 13 22:05:10 2019 -0800
+++ b/ChangeLog	Sun Jan 20 21:19:41 2019 +0100
@@ -1,3 +1,45 @@
+2019-01-20  Bruno Haible  <bruno@clisp.org>
+
+	Defeat current GCC optimizations in math autoconf tests.
+	* m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
+	* m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
+	* m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
+	* m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
+	* m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
+	* m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
+	* m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
+	* m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
+	* m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
+	* m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
+	* m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
+	* m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
+	* m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
+	* m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
+	* m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
+	* m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
+	* m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
+	* m4/log.m4 (gl_FUNC_LOG): Likewise.
+	* m4/logf.m4 (gl_FUNC_LOGF): Likewise.
+	* m4/log10.m4 (gl_FUNC_LOG10): Likewise.
+	* m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
+	* m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
+	* m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
+	* m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
+	* m4/log2.m4 (gl_FUNC_LOG2): Likewise.
+	* m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
+	* m4/modf.m4 (gl_FUNC_MODF): Likewise.
+	* m4/modff.m4 (gl_FUNC_MODFF): Likewise.
+	* m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
+	* m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
+	* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
+	* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
+	* m4/round.m4 (gl_FUNC_ROUND): Likewise.
+	* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
+	* m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
+	* m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
+	* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
+	* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
+
 2019-01-19  Pádraig Brady  <P@draigBrady.com>
 
 	gettext: support disabling use of VLAs
--- a/m4/cbrtl.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/cbrtl.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# cbrtl.m4 serial 7
+# cbrtl.m4 serial 8
 dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -59,7 +59,7 @@
   "C"
   #endif
   long double cbrtl (long double);
-  long double (*my_cbrtl) (long double) = argc ? cbrtl : dummy;
+  long double (* volatile my_cbrtl) (long double) = argc ? cbrtl : dummy;
   long double f;
   /* Test cbrtl(-0.0).
      This test fails on IRIX 6.5.  */
--- a/m4/ceil.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/ceil.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# ceil.m4 serial 12
+# ceil.m4 serial 13
 dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -32,7 +32,7 @@
 static double dummy (double f) { return 0; }
 int main (int argc, char *argv[])
 {
-  double (*my_ceil) (double) = argc ? ceil : dummy;
+  double (* volatile my_ceil) (double) = argc ? ceil : dummy;
   int result = 0;
   /* Test whether ceil (-0.0) is -0.0.  */
   if (signbitd (minus_zerod) && !signbitd (my_ceil (minus_zerod)))
--- a/m4/ceilf.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/ceilf.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# ceilf.m4 serial 16
+# ceilf.m4 serial 17
 dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -39,7 +39,7 @@
 static float dummy (float f) { return 0; }
 int main (int argc, char *argv[])
 {
-  float (*my_ceilf) (float) = argc ? ceilf : dummy;
+  float (* volatile my_ceilf) (float) = argc ? ceilf : dummy;
   int result = 0;
   /* Test whether ceilf (-0.0f) is -0.0f.  */
   if (signbitf (minus_zerof) && !signbitf (my_ceilf (minus_zerof)))
--- a/m4/ceill.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/ceill.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# ceill.m4 serial 17
+# ceill.m4 serial 18
 dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -42,7 +42,7 @@
 static long double dummy (long double f) { return 0; }
 int main (int argc, char *argv[])
 {
-  long double (*my_ceill) (long double) = argc ? ceill : dummy;
+  long double (* volatile my_ceill) (long double) = argc ? ceill : dummy;
   /* Test whether ceill (-0.3L) is -0.0L.  */
   if (signbitl (minus_zerol) && !signbitl (my_ceill (-0.3L)))
     return 1;
--- a/m4/exp2l.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/exp2l.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# exp2l.m4 serial 5
+# exp2l.m4 serial 6
 dnl Copyright (C) 2010-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -50,7 +50,7 @@
 static long double zero;
 int main (int argc, char *argv[])
 {
-  long double (*my_exp2l) (long double) = argc ? exp2l : dummy;
+  long double (* volatile my_exp2l) (long double) = argc ? exp2l : dummy;
   int result = 0;
   /* This test fails on OpenBSD 4.9, where exp2l(NaN) = 0.0.  */
   if (exp2l (zero / zero) == 0.0L)
--- a/m4/expm1.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/expm1.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# expm1.m4 serial 5
+# expm1.m4 serial 6
 dnl Copyright (C) 2010-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -75,7 +75,7 @@
 static double dummy (double x) { return 0; }
 int main (int argc, char *argv[])
 {
-  double (*my_expm1) (double) = argc ? expm1 : dummy;
+  double (* volatile my_expm1) (double) = argc ? expm1 : dummy;
   double y = my_expm1 (minus_zerod);
   if (!(y == 0.0) || (signbitd (minus_zerod) && !signbitd (y)))
     return 1;
--- a/m4/floor.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/floor.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# floor.m4 serial 11
+# floor.m4 serial 12
 dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -32,7 +32,7 @@
 static double dummy (double f) { return 0; }
 int main (int argc, char *argv[])
 {
-  double (*my_floor) (double) = argc ? floor : dummy;
+  double (* volatile my_floor) (double) = argc ? floor : dummy;
   /* Test whether floor (-0.0) is -0.0.  */
   if (signbitd (minus_zerod) && !signbitd (my_floor (minus_zerod)))
     return 1;
--- a/m4/floorf.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/floorf.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# floorf.m4 serial 15
+# floorf.m4 serial 16
 dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -39,7 +39,7 @@
 static float dummy (float f) { return 0; }
 int main (int argc, char *argv[])
 {
-  float (*my_floorf) (float) = argc ? floorf : dummy;
+  float (* volatile my_floorf) (float) = argc ? floorf : dummy;
   /* Test whether floorf (-0.0f) is -0.0f.  */
   if (signbitf (minus_zerof) && !signbitf (my_floorf (minus_zerof)))
     return 1;
--- a/m4/fmod.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/fmod.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# fmod.m4 serial 6
+# fmod.m4 serial 7
 dnl Copyright (C) 2011-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -39,7 +39,7 @@
 static double dummy (double x, double y) { return 0; }
 int main (int argc, char *argv[])
 {
-  double (*my_fmod) (double, double) = argc ? fmod : dummy;
+  double (* volatile my_fmod) (double, double) = argc ? fmod : dummy;
   int result = 0;
   double f;
   /* Test fmod(...,0.0).
--- a/m4/fmodf.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/fmodf.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# fmodf.m4 serial 8
+# fmodf.m4 serial 9
 dnl Copyright (C) 2011-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -46,7 +46,7 @@
 static float dummy (float x, float y) { return 0; }
 int main (int argc, char *argv[])
 {
-  float (*my_fmodf) (float, float) = argc ? fmodf : dummy;
+  float (* volatile my_fmodf) (float, float) = argc ? fmodf : dummy;
   float f;
   /* Test fmodf(...,0.0f).
      This test fails on OSF/1 5.1.  */
--- a/m4/fmodl.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/fmodl.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# fmodl.m4 serial 8
+# fmodl.m4 serial 9
 dnl Copyright (C) 2011-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -57,7 +57,7 @@
 static long double dummy (long double x, long double y) { return 0; }
 int main (int argc, char *argv[])
 {
-  long double (*my_fmodl) (long double, long double) = argc ? fmodl : dummy;
+  long double (* volatile my_fmodl) (long double, long double) = argc ? fmodl : dummy;
   long double f;
   /* Test fmodl(...,0.0L).
      This test fails on OSF/1 5.1.  */
--- a/m4/hypot.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/hypot.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# hypot.m4 serial 6
+# hypot.m4 serial 7
 dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -42,7 +42,7 @@
 double one = 1.0;
 int main (int argc, char *argv[])
 {
-  double (*my_hypot) (double, double) = argc ? hypot : dummy;
+  double (* volatile my_hypot) (double, double) = argc ? hypot : dummy;
   double f;
   /* Test hypot(NaN,Infinity).
      This test fails on OSF/1 5.1 and native Windows.  */
--- a/m4/hypotf.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/hypotf.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# hypotf.m4 serial 7
+# hypotf.m4 serial 8
 dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -58,7 +58,7 @@
 float one = 1.0f;
 int main (int argc, char *argv[])
 {
-  float (*my_hypotf) (float, float) = argc ? hypotf : dummy;
+  float (* volatile my_hypotf) (float, float) = argc ? hypotf : dummy;
   float f;
   /* Test hypotf(NaN,Infinity).
      This test fails on OSF/1 5.1 and native Windows.  */
--- a/m4/hypotl.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/hypotl.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# hypotl.m4 serial 8
+# hypotl.m4 serial 9
 dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -58,7 +58,7 @@
 long double one = 1.0L;
 int main (int argc, char *argv[])
 {
-  long double (*my_hypotl) (long double, long double) = argc ? hypotl : dummy;
+  long double (* volatile my_hypotl) (long double, long double) = argc ? hypotl : dummy;
   long double f;
   /* Test hypotl(NaN,Infinity).
      This test fails on OSF/1 5.1 and native Windows.  */
--- a/m4/ilogb.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/ilogb.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# ilogb.m4 serial 3
+# ilogb.m4 serial 4
 dnl Copyright (C) 2010-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -85,7 +85,7 @@
 static int dummy (double x) { return 0; }
 int main (int argc, char *argv[])
 {
-  int (*my_ilogb) (double) = argc ? ilogb : dummy;
+  int (* volatile my_ilogb) (double) = argc ? ilogb : dummy;
   int result = 0;
   /* This test fails on OpenBSD 4.9, AIX 5.1.  */
   {
--- a/m4/ilogbf.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/ilogbf.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# ilogbf.m4 serial 3
+# ilogbf.m4 serial 4
 dnl Copyright (C) 2010-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -87,7 +87,7 @@
 static int dummy (float x) { return 0; }
 int main (int argc, char *argv[])
 {
-  int (*my_ilogbf) (float) = argc ? ilogbf : dummy;
+  int (* volatile my_ilogbf) (float) = argc ? ilogbf : dummy;
   int result = 0;
   /* This test fails on OpenBSD 4.9.  */
   {
--- a/m4/ilogbl.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/ilogbl.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# ilogbl.m4 serial 2
+# ilogbl.m4 serial 3
 dnl Copyright (C) 2010-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -106,7 +106,7 @@
 static int dummy (long double x) { return 0; }
 int main (int argc, char *argv[])
 {
-  int (*my_ilogbl) (long double) = argc ? ilogbl : dummy;
+  int (* volatile my_ilogbl) (long double) = argc ? ilogbl : dummy;
   int result = 0;
   /* This test fails on Haiku 2017.  */
   {
--- a/m4/log.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/log.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# log.m4 serial 8
+# log.m4 serial 9
 dnl Copyright (C) 2011-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -46,7 +46,7 @@
 static double dummy (double x) { return 0; }
 int main (int argc, char *argv[])
 {
-  double (*my_log) (double) = argc ? log : dummy;
+  double (* volatile my_log) (double) = argc ? log : dummy;
   /* Test log(negative).
      This test fails on NetBSD 5.1, Solaris 11.4.  */
   double y = my_log (-1.0);
--- a/m4/log10.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/log10.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# log10.m4 serial 8
+# log10.m4 serial 9
 dnl Copyright (C) 2011-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -46,7 +46,7 @@
 static double dummy (double x) { return 0; }
 int main (int argc, char *argv[])
 {
-  double (*my_log10) (double) = argc ? log10 : dummy;
+  double (* volatile my_log10) (double) = argc ? log10 : dummy;
   /* Test log10(negative).
      This test fails on NetBSD 5.1, Solaris 11.4.  */
   double y = my_log10 (-1.0);
--- a/m4/log10f.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/log10f.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# log10f.m4 serial 9
+# log10f.m4 serial 10
 dnl Copyright (C) 2011-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -56,7 +56,7 @@
 static float dummy (float x) { return 0; }
 int main (int argc, char *argv[])
 {
-  float (*my_log10f) (float) = argc ? log10f : dummy;
+  float (* volatile my_log10f) (float) = argc ? log10f : dummy;
   /* Test log10f(negative).
      This test fails on NetBSD 5.1.  */
   float y = my_log10f (-1.0f);
--- a/m4/log1p.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/log1p.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# log1p.m4 serial 5
+# log1p.m4 serial 6
 dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -41,7 +41,7 @@
 static double dummy (double x) { return 0; }
 int main (int argc, char *argv[])
 {
-  double (*my_log1p) (double) = argc ? log1p : dummy;
+  double (* volatile my_log1p) (double) = argc ? log1p : dummy;
   /* This test fails on AIX, HP-UX 11.  */
   double y = my_log1p (minus_zerod);
   if (!(y == 0.0) || (signbitd (minus_zerod) && !signbitd (y)))
--- a/m4/log1pf.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/log1pf.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# log1pf.m4 serial 5
+# log1pf.m4 serial 6
 dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -50,7 +50,7 @@
 static float dummy (float x) { return 0; }
 int main (int argc, char *argv[])
 {
-  float (*my_log1pf) (float) = argc ? log1pf : dummy;
+  float (* volatile my_log1pf) (float) = argc ? log1pf : dummy;
   /* This test fails on OpenBSD 4.9, AIX 7.1.  */
   float y = my_log1pf (minus_zerof);
   if (!(y == 0.0f) || (signbitf (minus_zerof) && !signbitf (y)))
--- a/m4/log1pl.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/log1pl.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# log1pl.m4 serial 5
+# log1pl.m4 serial 6
 dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -41,7 +41,7 @@
 static long double dummy (long double x) { return 0; }
 int main (int argc, char *argv[])
 {
-  long double (*my_log1pl) (long double) = argc ? log1pl : dummy;
+  long double (* volatile my_log1pl) (long double) = argc ? log1pl : dummy;
   /* This test fails on AIX 7.1, IRIX 6.5.  */
   long double y = my_log1pl (minus_zerol);
   if (!(y == 0.0L) || (signbitl (minus_zerol) && !signbitl (y)))
--- a/m4/log2.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/log2.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# log2.m4 serial 7
+# log2.m4 serial 8
 dnl Copyright (C) 2010-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -67,7 +67,7 @@
 static double dummy (double x) { return 0; }
 int main (int argc, char *argv[])
 {
-  double (*my_log2) (double) = argc ? log2 : dummy;
+  double (* volatile my_log2) (double) = argc ? log2 : dummy;
   /* Test log2(negative).
      This test fails on NetBSD 5.1 and Solaris 10/x86_64.  */
   double y = my_log2 (-1.0);
--- a/m4/log2f.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/log2f.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# log2f.m4 serial 7
+# log2f.m4 serial 8
 dnl Copyright (C) 2010-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -68,7 +68,7 @@
 static float dummy (float x) { return 0; }
 int main (int argc, char *argv[])
 {
-  float (*my_log2f) (float) = argc ? log2f : dummy;
+  float (* volatile my_log2f) (float) = argc ? log2f : dummy;
   /* Test log2f(negative).
      This test fails on NetBSD 5.1 and Solaris 10/x86_64.  */
   float y = my_log2f (-1.0f);
--- a/m4/logf.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/logf.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# logf.m4 serial 9
+# logf.m4 serial 10
 dnl Copyright (C) 2011-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -56,7 +56,7 @@
 static float dummy (float x) { return 0; }
 int main (int argc, char *argv[])
 {
-  float (*my_logf) (float) = argc ? logf : dummy;
+  float (* volatile my_logf) (float) = argc ? logf : dummy;
   /* Test logf(negative).
      This test fails on NetBSD 5.1.  */
   float y = my_logf (-1.0f);
--- a/m4/modf.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/modf.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# modf.m4 serial 5
+# modf.m4 serial 6
 dnl Copyright (C) 2011-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -41,7 +41,7 @@
 double minus_one = - 1.0;
 int main (int argc, char *argv[])
 {
-  double (*my_modf) (double, double *) = argc ? modf : dummy;
+  double (* volatile my_modf) (double, double *) = argc ? modf : dummy;
   int result = 0;
   double i;
   double f;
--- a/m4/modff.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/modff.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# modff.m4 serial 7
+# modff.m4 serial 8
 dnl Copyright (C) 2011-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -49,7 +49,7 @@
 float minus_one = - 1.0f;
 int main (int argc, char *argv[])
 {
-  float (*my_modff) (float, float *) = argc ? modff : dummy;
+  float (* volatile my_modff) (float, float *) = argc ? modff : dummy;
   int result = 0;
   float i;
   float f;
--- a/m4/modfl.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/modfl.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# modfl.m4 serial 5
+# modfl.m4 serial 6
 dnl Copyright (C) 2011-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -49,7 +49,7 @@
 long double minus_one = - 1.0L;
 int main (int argc, char *argv[])
 {
-  long double (*my_modfl) (long double, long double *) = argc ? modfl : dummy;
+  long double (* volatile my_modfl) (long double, long double *) = argc ? modfl : dummy;
   long double i;
   long double f;
   /* Test modfl(-Inf,...).
--- a/m4/remainder.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/remainder.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# remainder.m4 serial 6
+# remainder.m4 serial 7
 dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -79,7 +79,7 @@
 static double dummy (double x, double y) { return 0; }
 int main (int argc, char *argv[])
 {
-  double (*my_remainder) (double, double) = argc ? remainder : dummy;
+  double (* volatile my_remainder) (double, double) = argc ? remainder : dummy;
   double f;
   /* Test remainder(...,0.0).
      This test fails on OSF/1 5.1.  */
--- a/m4/remainderf.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/remainderf.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# remainderf.m4 serial 10
+# remainderf.m4 serial 11
 dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -82,7 +82,7 @@
 static float dummy (float x, float y) { return 0; }
 int main (int argc, char *argv[])
 {
-  float (*my_remainderf) (float, float) = argc ? remainderf : dummy;
+  float (* volatile my_remainderf) (float, float) = argc ? remainderf : dummy;
   float f;
   /* Test remainderf(...,0.0f).
      This test fails on OSF/1 5.1.  */
--- a/m4/remainderl.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/remainderl.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# remainderl.m4 serial 9
+# remainderl.m4 serial 10
 dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -87,7 +87,7 @@
 static long double dummy (long double x, long double y) { return 0; }
 int main (int argc, char *argv[])
 {
-  long double (*my_remainderl) (long double, long double) = argc ? remainderl : dummy;
+  long double (* volatile my_remainderl) (long double, long double) = argc ? remainderl : dummy;
   long double f;
   /* Test remainderl(...,0.0L).
      This test fails on OSF/1 5.1.  */
--- a/m4/round.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/round.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# round.m4 serial 19
+# round.m4 serial 20
 dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -103,7 +103,7 @@
 static double dummy (double f) { return 0; }
 int main (int argc, char *argv[])
 {
-  double (*my_round) (double) = argc ? round : dummy;
+  double (* volatile my_round) (double) = argc ? round : dummy;
   /* Test whether round (-0.0) is -0.0.  */
   if (signbitd (minus_zerod) && !signbitd (my_round (minus_zerod)))
     return 1;
--- a/m4/roundf.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/roundf.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# roundf.m4 serial 20
+# roundf.m4 serial 21
 dnl Copyright (C) 2007-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -99,7 +99,7 @@
 static float dummy (float f) { return 0; }
 int main (int argc, char *argv[])
 {
-  float (*my_roundf) (float) = argc ? roundf : dummy;
+  float (* volatile my_roundf) (float) = argc ? roundf : dummy;
   int result = 0;
   /* Test whether roundf (-0.0f) is -0.0f.  */
   if (signbitf (minus_zerof) && !signbitf (my_roundf (minus_zerof)))
--- a/m4/roundl.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/roundl.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# roundl.m4 serial 17
+# roundl.m4 serial 18
 dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -50,7 +50,7 @@
 static long double dummy (long double f) { return 0; }
 int main (int argc, char *argv[])
 {
-  long double (*my_roundl) (long double) = argc ? roundl : dummy;
+  long double (* volatile my_roundl) (long double) = argc ? roundl : dummy;
   int result = 0;
   /* Test whether roundl (-0.0L) is -0.0L.  */
   if (signbitl (minus_zerol) && !signbitl (my_roundl (minus_zerol)))
--- a/m4/trunc.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/trunc.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# trunc.m4 serial 12
+# trunc.m4 serial 13
 dnl Copyright (C) 2007, 2010-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -62,7 +62,7 @@
 static double dummy (double f) { return 0; }
 int main (int argc, char *argv[])
 {
-  double (*my_trunc) (double) = argc ? trunc : dummy;
+  double (* volatile my_trunc) (double) = argc ? trunc : dummy;
   /* Test whether trunc (-0.0) is -0.0.  */
   if (signbitd (minus_zerod) && !signbitd (my_trunc (minus_zerod)))
     return 1;
--- a/m4/truncf.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/truncf.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# truncf.m4 serial 12
+# truncf.m4 serial 13
 dnl Copyright (C) 2007, 2010-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -62,7 +62,7 @@
 static float dummy (float f) { return 0; }
 int main (int argc, char *argv[])
 {
-  float (*my_truncf) (float) = argc ? truncf : dummy;
+  float (* volatile my_truncf) (float) = argc ? truncf : dummy;
   /* Test whether truncf (-0.0f) is -0.0f.  */
   if (signbitf (minus_zerof) && !signbitf (my_truncf (minus_zerof)))
     return 1;
--- a/m4/truncl.m4	Sun Jan 13 22:05:10 2019 -0800
+++ b/m4/truncl.m4	Sun Jan 20 21:19:41 2019 +0100
@@ -1,4 +1,4 @@
-# truncl.m4 serial 14
+# truncl.m4 serial 15
 dnl Copyright (C) 2007-2008, 2010-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -95,7 +95,7 @@
 static long double dummy (long double f) { return 0; }
 int main (int argc, char *argv[])
 {
-  long double (*my_truncl) (long double) = argc ? truncl : dummy;
+  long double (* volatile my_truncl) (long double) = argc ? truncl : dummy;
   /* Test whether truncl (-0.3L) is -0.0L.  */
   if (signbitl (minus_zerol) && !signbitl (my_truncl (-0.3L)))
     return 1;