]> git.ipfire.org Git - thirdparty/gcc.git/commit
PR modula2/110779: libgm2 fix solaris bootstrap check for tm_gmtoff
authorGaius Mulley <gaiusmod2@gmail.com>
Wed, 9 Aug 2023 08:35:13 +0000 (09:35 +0100)
committerGaius Mulley <gaiusmod2@gmail.com>
Wed, 9 Aug 2023 08:35:13 +0000 (09:35 +0100)
commite3476ed2233911e6a578488899179bd91e818947
treeef67c0a577509902889645f64aecc0914791a803
parent6ef7956e9df910fa49bd5106139a7d26c9d51fdf
PR modula2/110779: libgm2 fix solaris bootstrap check for tm_gmtoff

This patch defensively checks for every C function and every struct
used in wrapclock.cc.  It adds return values to GetTimespec and
SetTimespec to allow the module to return a code representing
unavailable.

gcc/m2/ChangeLog:

PR modula2/110779
* gm2-libs-iso/SysClock.mod (GetClock): Test GetTimespec
return value.
(SetClock): Test SetTimespec return value.
* gm2-libs-iso/wrapclock.def (GetTimespec): Add integer
return type.
(SetTimespec): Add integer return type.

libgm2/ChangeLog:

PR modula2/110779
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac (AC_CACHE_CHECK): Check for tm_gmtoff field in
struct tm.
(GM2_CHECK_LIB): Check for daylight, timezone and tzname.
* libm2iso/wrapclock.cc (timezone): Guard against absence of
struct tm and tm_gmtoff.
(daylight): Check for daylight.
(timezone): Check for timezone.
(isdst): Check for isdst.
(tzname): Check for tzname.
(GetTimeRealtime): Check for struct timespec.
(SetTimeRealtime): Check for struct timespec.
(InitTimespec): Check for struct timespec.
(KillTimespec): Check for struct timespec.
(SetTimespec): Check for struct timespec.
(GetTimespec): Check for struct timespec.

Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
gcc/m2/gm2-libs-iso/SysClock.mod
gcc/m2/gm2-libs-iso/wrapclock.def
libgm2/config.h.in
libgm2/configure
libgm2/configure.ac
libgm2/libm2iso/wrapclock.cc