summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2021-09-10 11:08:23 +0200
committerAkim Demaille <akim.demaille@gmail.com>2021-09-11 08:26:10 +0200
commit0343acbe8972895a5a355c8f84dd9637a0558aaf (patch)
tree658be2558dc3d3e1e5da5f3ab6544da17fec38d4
parent5d9ccd5a87f7991c6f52d45e2b57ad0b03e76cf7 (diff)
downloadbison-0343acbe8972895a5a355c8f84dd9637a0558aaf.tar.gz
portability: don't use strtof
It is not available on HP-UX 11i. Reported by Larkin Nickle <me@larbob.org>. <https://lists.gnu.org/r/bug-bison/2021-09/msg00012.html> Gnulib provides no replacement, but anyway we should be using doubles, since difftime uses doubles. * bootstrap.conf: We want portability on stdtod. * src/counterexample.c: Use double, not float, for time measurements.
-rw-r--r--bootstrap.conf2
-rw-r--r--lib/.gitignore1
-rw-r--r--m4/.gitignore1
-rw-r--r--src/counterexample.c10
4 files changed, 8 insertions, 6 deletions
diff --git a/bootstrap.conf b/bootstrap.conf
index 6f1a3fc6..1d8614e7 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -45,7 +45,7 @@ gnulib_modules='
realloc-posix
relocatable-prog relocatable-script
rename
- spawn-pipe stdbool stpcpy stpncpy strdup-posix strerror strverscmp
+ spawn-pipe stdbool stpcpy stpncpy strdup-posix strerror strtod strverscmp
sys_ioctl
termios
timevar
diff --git a/lib/.gitignore b/lib/.gitignore
index c132149f..590b7942 100644
--- a/lib/.gitignore
+++ b/lib/.gitignore
@@ -391,6 +391,7 @@
/stripslash.c
/strndup.c
/strnlen.c
+/strtod.c
/strverscmp.c
/sys
/sys_ioctl.in.h
diff --git a/m4/.gitignore b/m4/.gitignore
index a7b5095c..f1554d4d 100644
--- a/m4/.gitignore
+++ b/m4/.gitignore
@@ -216,6 +216,7 @@
/strings_h.m4
/strndup.m4
/strnlen.m4
+/strtod.m4
/strverscmp.m4
/sys_ioctl_h.m4
/sys_resource_h.m4
diff --git a/src/counterexample.c b/src/counterexample.c
index f6f85fb1..ec427c1e 100644
--- a/src/counterexample.c
+++ b/src/counterexample.c
@@ -57,12 +57,12 @@
/** The time limit before printing an assurance message to the user to
* indicate that the search is still running. */
-#define ASSURANCE_LIMIT 2.0f
+#define ASSURANCE_LIMIT 2.0
/* The time limit before giving up looking for unifying counterexample. */
-static float time_limit = 5.0f;
+static double time_limit = 5.0;
-#define CUMULATIVE_TIME_LIMIT 120.0f
+#define CUMULATIVE_TIME_LIMIT 120.0
// This is the fastest way to get the tail node from the gl_list API.
static gl_list_node_t
@@ -1164,7 +1164,7 @@ unifying_example (state_item_number itm1,
}
if (TIME_LIMIT_ENFORCED)
{
- float time_passed = difftime (time (NULL), start);
+ double time_passed = difftime (time (NULL), start);
if (!assurance_printed && time_passed > ASSURANCE_LIMIT
&& stage3result)
{
@@ -1218,7 +1218,7 @@ counterexample_init (void)
if (cp)
{
char *end = NULL;
- float v = strtof (cp, &end);
+ double v = strtod (cp, &end);
if (*end == '\0' && errno == 0)
time_limit = v;
}