On 02/11/2011 11:18 AM, Bruno Haible wrote:
> The problem appears to be inside gnulib's __mktime_internal. It is still
> present after Paul's recent patches: On MacOS X 10.5, after configuring
> with CC="gcc -m64", I get:
> 
>   000001010000.00 mismatch (-: actual; +:expected)
>   --62167132800
>   +-62167219200
>   000012312359.59 return value mismatch: got 0, expected 1

Those same two tests fail on 64-bit Solaris up through at
least Solaris 10.  It's probably the same think-o inside
localtime.  (Programmers get confused near the year zero,
for some reason.  :-)  It's probably not worth worrying about.

> Whereas with CC="gcc -m32", I get a different failure:
> 
>   ...
> skipping 000101010000.00: result is out of range of your time_t
> 190112132045.51 return value mismatch: got 0, expected 1
> skipping 190112132045.52: result is out of range of your time_t

That's a weird one.  What type is time_t on that platform,
exactly?  Signed or unsigned?  32- or 64-bit?

That test is depending on undefined behavior at the C level,
since it assumes signed integer overflow wraps around; it could
be that we're running afoul of that.

Reply via email to