On 2011/12/09, at 2:46, Andrew Dunstan wrote: > > > On 12/05/2011 06:27 PM, Andrew Dunstan wrote: >> >> >> $ cat regression.diffs >> *** >> C:/MinGW/msys/1.0/home/pgrunner/bf/root32/HEAD/pgsql/src/test/regress/expected/float8-exp-three-digits-win32.out Fri Nov 25 14:24:49 2011 >> --- >> C:/MinGW/msys/1.0/home/pgrunner/bf/root32/HEAD/pgsql/src/test/regress/results/float8.out Mon Dec 5 18:17:36 2011 >> *************** >> *** 382,388 **** >> SET f1 = FLOAT8_TBL.f1 * '-1' >> WHERE FLOAT8_TBL.f1 > '0.0'; >> SELECT '' AS bad, f.f1 * '1e200' from FLOAT8_TBL f; >> ! ERROR: value out of range: overflow >> SELECT '' AS bad, f.f1 ^ '1e200' from FLOAT8_TBL f; >> ERROR: value out of range: overflow >> SELECT 0 ^ 0 + 0 ^ 1 + 0 ^ 0.0 + 0 ^ 0.5; >> --- 382,396 ---- >> SET f1 = FLOAT8_TBL.f1 * '-1' >> WHERE FLOAT8_TBL.f1 > '0.0'; >> SELECT '' AS bad, f.f1 * '1e200' from FLOAT8_TBL f; >> ! bad | ?column? >> ! -----+------------------ >> ! | 0 >> ! | -3.484e+201 >> ! | -1.0043e+203 >> ! | -Infinity >> ! | -1.2345678901234 >> ! (5 rows) >> ! >> SELECT '' AS bad, f.f1 ^ '1e200' from FLOAT8_TBL f; >> ERROR: value out of range: overflow >> SELECT 0 ^ 0 + 0 ^ 1 + 0 ^ 0.0 + 0 ^ 0.5; >> >> ====================================================================== >> >> >> > > > This is apparently an optimization bug in the compiler. If I turn optimization off (CFLAGS=-O0) it goes away. Ick. > > So at the moment I'm a bit blocked. I can't really file a bug because the compiler can't currently be used to build postgres, I don't have time to construct a self-contained test case, and I don't want to commit changes to enable the compiler until the issue is solved. > > FYI I've been testing with the attached patch. We'll need to construct a configure test for HAVE_CRTDEFS_H. > > cheers > > andrew > > > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers