Re: float8 regression failure (HEAD, cygwin)
От | Adrian Maier |
---|---|
Тема | Re: float8 regression failure (HEAD, cygwin) |
Дата | |
Msg-id | cd30ef8c0607200113y5d9aa56fvf0b9ba6e1bad864@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: float8 regression failure (HEAD, cygwin) (Reini Urban <rurban@x-ray.at>) |
Список | pgsql-hackers |
On 20/07/06, Reini Urban <rurban@x-ray.at> wrote: > > Thanks, > Which postgresql version? The version is cvs HEAD. > Can we have a regular cygwin error report please mailed to cygwin at > cygwin.com please. See http://cygwin.com/problems.html (cygcheck -s -v > -r > cygcheck.out) > > Looks like a strtod() newlib feature, but I haven't inspected closely. > http://sources.redhat.com/ml/newlib/2006/msg00020.html > > BTW: HAVE_LONG_LONG_INT_64 is defined, so INT64_IS_BUSTED is defined also. > > Does it look the same on redhat fedora? > Our buildfarm doesn't have these issues, this runs gcc-3.3.3 and gcc-3.4.4 I'm not sure about fedora, but on NetBSD 3.0rc5 , postgresql 8.1.3 I can see the same behaviour: am=# select version(); version --------------------------------------------------------------------------------------------PostgreSQL 8.1.3 on i386--netbsdelf,compiled by GCC gcc (GCC) 3.3.3 (NetBSD nb3 20040520) (1 row) am=# SELECT '-10e400'::float8; ERROR: "-10e400" is out of range for type double precision > The problem I see is that float8in() in > src/backend/utils/adt/float.c checks only for "-Infinity" and not "-inf" > as returned by newlib: > pg_strncasecmp(num, "-Infinity", 9) == 0 > > Can you test this? Sure . > $ gcc test-strtod.c; ./a > double: -inf, errno: 34, tail: '', isinf: 1, fabs: inf, inf>max: 1 Yes, I'm getting the same output (both on cygwin and netbsd 3.0rc5): $ ./test-strtod.exe double: -inf, errno: 34, tail: '', isinf: 1, fabs: inf,inf>max: 1 Cheers, Adrian Maier
В списке pgsql-hackers по дате отправления: