/* The extra casts work around common compiler bugs. */
#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
/* The outer cast is needed to work around a bug in Cray C 5.0.3.0.
It is necessary at least when t == time_t. */
#define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \
? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
#define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t)))
https://opensource.apple.com/source/gnutar/gnutar-410.1/tar/lib/mktime.c
this file, and snippets from it, are part of pretty much all software you'll encounter.
I'm not eager to modify it and breaking it. Especially since "fixing" the warning breaks other compilers.
|