2012/2/28 Paul Eggert
<eggert@cs.ucla.edu>
> There is something wrong around lib/strftime.c:946
> if (negative_number)
> u_number_value = - u_number_value;
>
> u_number_value being unsigned, this is wrong.
I don't see anything wrong there. The value of
-X is well-defined if X is unsigned int; it's
equivalent to ~X + 1. Can you supply a test case
illustrating the actual bug?
Please bear in mind that the code is already
tested to LP64 hosts. Any bug related to this
particular code would also be a bug on LP64 hosts,
no? So, it's not likely that any bug here is specific
to Windows 64. If there is a bug, it should be
describable and fixable independently of Windows 64.
I don't see things that way. Some things that would pass on LP64 becauseints are 64 bits may turn into a crash because of sign extension on Windows 64
promoting 32bits ints to 64bits ints. So I'm definitely more confident when ints are used
without any abuse of any kind. I don't see the point with using an unsigned int to negate
it.
--
Fabrice