8 Mar
2010
8 Mar
'10
11:20 p.m.
I wrote:
Johannes wrote:
On Mon, Mar 08, 2010 at 06:33:12PM +0000, corvid wrote:
Tried running my test/cookies program and got two failures from the 32-bit timestamp wrapping tests.
Turned out that I had -O2 set. -O succeeds, and no optimization succeeds. If I insert a MSG("exptime+local_shift %ld\n", exptime + local_shift); after setting local_shift in Cookies_expires_attr(), it works even with -O2.
This is with gcc-4.3.3. I'm going to get 4.4.3 and see what happens...
Same behaviour with 4.4.3.
Found out what's going on. Signed overflow is undefined, and -O2 gives -fstrict-overflow, which assumes that overflow won't happen. So I will do something of some sort about this :)