From 1d546b1cd1cca688fdc7e149b1fd0672439dfaa7 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Fri, 17 Mar 2023 13:31:11 +0100 Subject: [PATCH] time: Fix test failure on native Windows. * m4/time.m4 (gl_FUNC_TIME): Guess that it does not work on native Windows. * modules/time (Depends-on): Add gettimeofday. * doc/posix-functions/time.texi: Mention the bug on Windows. --- ChangeLog | 8 ++++++++ doc/posix-functions/time.texi | 9 +++++---- m4/time.m4 | 11 +++++++---- modules/time | 1 + 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 816190dbc9..3249000a4d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2023-03-17 Bruno Haible + + time: Fix test failure on native Windows. + * m4/time.m4 (gl_FUNC_TIME): Guess that it does not work on native + Windows. + * modules/time (Depends-on): Add gettimeofday. + * doc/posix-functions/time.texi: Mention the bug on Windows. + 2023-03-17 Bruno Haible vasnprintf, vasnwprintf: Include all necessary workarounds in libintl. diff --git a/doc/posix-functions/time.texi b/doc/posix-functions/time.texi index a8e9abcddf..5d7c719594 100644 --- a/doc/posix-functions/time.texi +++ b/doc/posix-functions/time.texi @@ -12,10 +12,11 @@ Portability problems fixed by Gnulib: This function is not consistent with @code{gettimeofday} and @code{timespec_get} on some platforms: @c https://sourceware.org/bugzilla/show_bug.cgi?id=30200 -glibc 2.31 or newer on Linux. -Namely, in the first 1 to 2.5 milliseconds of every second, @code{time} -returns a value that is one less than the @code{tv_sec} part of the return -value of @code{gettimeofday} or @code{timespec_get}. +glibc 2.31 or newer on Linux, native Windows. +Namely, in the first 1 to 2.5 milliseconds of every second (or, on Windows, +in the first 5 milliseconds of every second), @code{time} returns a value +that is one less than the @code{tv_sec} part of the return value of +@code{gettimeofday} or @code{timespec_get}. @end itemize Portability problems not fixed by Gnulib: diff --git a/m4/time.m4 b/m4/time.m4 index 0dbb6011ed..504ec77f88 100644 --- a/m4/time.m4 +++ b/m4/time.m4 @@ -1,4 +1,4 @@ -# time.m4 serial 1 +# time.m4 serial 2 dnl Copyright (C) 2023 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -12,9 +12,11 @@ AC_DEFUN([gl_FUNC_TIME], dnl glibc has the bug https://sourceware.org/bugzilla/show_bug.cgi?id=30200 . AC_CACHE_CHECK([whether time() works], [gl_cv_func_time_works], - [dnl Guess that it works except on glibc >= 2.31 with Linux. - dnl And binaries produced on glibc < 2.31 need to run fine on newer - dnl glibc versions as well; therefore ignore __GLIBC_MINOR__. + [dnl Guess that it works except on + dnl - glibc >= 2.31 with Linux. And binaries produced on glibc < 2.31 + dnl need to run fine on newer glibc versions as well; therefore ignore + dnl __GLIBC_MINOR__. + dnl - native Windows. case "$host_os" in linux*-gnu*) AC_EGREP_CPP([Unlucky], [ @@ -28,6 +30,7 @@ AC_DEFUN([gl_FUNC_TIME], [gl_cv_func_time_works="guessing no"], [gl_cv_func_time_works="guessing yes"]) ;; + mingw*) gl_cv_func_time_works="guessing no";; *) gl_cv_func_time_works="guessing yes";; esac ]) diff --git a/modules/time b/modules/time index 45f5ffd35f..2729ad06ea 100644 --- a/modules/time +++ b/modules/time @@ -7,6 +7,7 @@ m4/time.m4 Depends-on: time-h +gettimeofday [test $REPLACE_TIME = 1] configure.ac: gl_FUNC_TIME -- 2.39.5