From d320360f8751e9ea39a0ac1a68299c55a3b6468a Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 16 Jun 2024 14:44:29 -0700 Subject: [PATCH] time_r: refactor tm_zone tests * m4/tm_gmtoff.m4 (gl_TM_GMTOFF): Also check for tm_zone and define HAVE_STRUCT_TM_TM_ZONE accordingly. * modules/time_r-tests (Files): Add m4/tm_gmtoff.m4. (configure.ac): Simplify by using gl_TM_GMTOFF. --- ChangeLog | 6 ++++++ m4/tm_gmtoff.m4 | 13 +++++++++++-- modules/time_r-tests | 5 ++--- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 54eeb40706..5c24caebca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2024-06-16 Paul Eggert + time_r: refactor tm_zone tests + * m4/tm_gmtoff.m4 (gl_TM_GMTOFF): Also check for tm_zone + and define HAVE_STRUCT_TM_TM_ZONE accordingly. + * modules/time_r-tests (Files): Add m4/tm_gmtoff.m4. + (configure.ac): Simplify by using gl_TM_GMTOFF. + time_r-tests: avoid tzname test * modules/time_r-tests (configure.ac): Do not check for tzname, as the tests don’t use it. diff --git a/m4/tm_gmtoff.m4 b/m4/tm_gmtoff.m4 index ad64df4954..3d97edb7a7 100644 --- a/m4/tm_gmtoff.m4 +++ b/m4/tm_gmtoff.m4 @@ -1,13 +1,22 @@ # tm_gmtoff.m4 -# serial 4 +# serial 5 dnl Copyright (C) 2002, 2009-2024 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. +dnl Check for tm_gmtoff and tm_zone in struct tm, and #define +dnl HAVE_STRUCT_TM_TM_GMTOFF and HAVE_STRUCT_TM_TM_ZONE accordingly. +dnl Most code that needs one needs the other, so there seemed little +dnl point to having two macros to check them individually. +dnl Although all platforms that we know of have either both members or +dnl neither member, check for the two members separately just in case. +dnl +dnl These days this macro is more useful than AC_STRUCT_TIMEZONE, which also +dnl checks for the obsolescent tzname and does not check for tm_gmtoff. AC_DEFUN([gl_TM_GMTOFF], [ - AC_CHECK_MEMBERS([struct tm.tm_gmtoff], [], [], + AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.tm_zone], [], [], [[#include ]]) diff --git a/modules/time_r-tests b/modules/time_r-tests index 9d82cb3657..c29d09cc24 100644 --- a/modules/time_r-tests +++ b/modules/time_r-tests @@ -1,4 +1,5 @@ Files: +m4/tm_gmtoff.m4 tests/test-gmtime_r.c tests/test-gmtime_r-mt.c tests/test-localtime_r.c @@ -11,9 +12,7 @@ thread nanosleep configure.ac: -AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.tm_zone], [], [], - [[#include - ]]) +gl_TM_GMTOFF Makefile.am: TESTS += \ -- 2.39.5