It seems that gcc is up to some creative reinterpretation of basic C
semantics again; specifically, you can no longer trust that traditional
C semantics of integer overflow hold:
While I don't think we are anywhere using exactly the same trick that
the referenced mysql code is using, it certainly seems likely to me that
a compiler that is willing to replace "x < 0 && -x < 0" with "false"
might be able to break some of the integer overflow checks we do use.
I think we need to add -fwrapv to CFLAGS anytime the compiler will take
it, same as we recently started doing with -fno-strict-aliasing.
regards, tom lane
pgsql-hackers by date
|Next:||From: Jim C. Nasby||Date: 2005-12-12 21:36:41|
|Subject: Re: Reduce NUMERIC size by 2 bytes, reduce max length to 508 digits|
|Previous:||From: Cristian Prieto||Date: 2005-12-12 21:18:29|
|Subject: replan needed?|