[tz] dead code in zic

Christos Zoulas christos at zoulas.com
Wed Mar 6 02:47:18 UTC 2013


On Mar 5,  6:07pm, eggert at cs.ucla.edu (Paul Eggert) wrote:
-- Subject: Re: [tz] dead code in zic

| I suggest changing change the compiler options
| to suppress the warnings, or at least to make the warnings
| not cause compilation to fail.  There's nothing invalid
| about a comparison that happens to always be true on the VAX.
| Comparisons like that are normal and should be expected in
| code that tries to be portable among a wide variety of
| hardware platforms.

Yes, and ILP32 is a portable and popular platform (still).  This is
not VAX specific.  As I mentioned before if you change the const
variable declaration to a #define, you'll get the warning in all
gcc 32 bit platforms (or if you use a gcc circa 4.1 which had code
to do the constant folding more aggressively). In simple terms, if
the code is a no-op on all 32 bit platforms it should probably be
improved!

I know how to suppress warnings (with casts for example), and how
to not compile with -Werror.  What I am asking here, is if dayoff
is mistyped (long instead of zic_t) and 'long oadd(long, long)'
should be 'zic_t oadd(zic_t, long)'.

This is yet another case where the code mis-uses variable sized types
(long which is different on ILP32 and LP64) and could be improved.

christos


More information about the tz mailing list