[tz] IANA compilation problem

Steven Shuriff Steven.Shuriff at actian.com
Wed Feb 22 14:08:12 UTC 2023

Hi Paul,

This fixed my Windows and VMS builds!

I assume this will be in the next release?

Thanks for the fix!


-----Original Message-----
From: Paul Eggert <eggert at cs.ucla.edu> 
Sent: Tuesday, February 21, 2023 6:32 PM
To: Steven Shuriff <Steven.Shuriff at actian.com>
Cc: Manuela Friedrich <Manuela.Friedrich at actian.com>; Time Zone Mailing List <tz at iana.org>
Subject: Re: IANA compilation problem

On 1/26/23 20:08, Steven Shuriff wrote:

> I am getting compilation errors with the tz code involving UINTMAX_MAX.
> This is happening on Windows and on VMS.  Both are using older compilers.
> Windows is getting:
> zic.c(1317) : error C2065: 'UINTMAX_MAX' : undeclared identifier
> zic.c(2358) : warning C4116: unnamed type definition in parentheses
> VMS is getting:
>    uint_fast64_t unfair_min = - ((UINTMAX_MAX % base__6 + 1) % 
> base__6); .................................^
> %CC-E-UNDECLARED, In the initializer for unfair_min, "UINTMAX_MAX" is not declared.
> at line number 1272 in file 
> Failed to build zic
> Besides upgrading the compilers (not possible at this time) is there any possible solution?

Sorry, I didn't see this private email until now. Please try the attached patch, which I installed into the development repository. It fixes a portability bug present since TZDB release 2022f.

As mentioned in
<https://mm.icann.org/pipermail/tz/2022-December/032399.html> I'm planning to phase out support for C89, as these old compilers are not much used nowadays and the cost of maintaining the ports to these compilers is starting to outweigh the benefit. In the next release if you still need support for old compilers the plan is that you'll need to compile with -DPORT_TO_C89 and/or -DSUPPORT_C99. This is intended to be a heads-up for builders on obsolete platforms.

More information about the tz mailing list