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.