Re: Bug fix for glibc broke freebsd build in REL_11_STABLE
| От | Tom Lane |
|---|---|
| Тема | Re: Bug fix for glibc broke freebsd build in REL_11_STABLE |
| Дата | |
| Msg-id | 2481.1536097589@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Re: Bug fix for glibc broke freebsd build in REL_11_STABLE (Andrew Gierth <andrew@tao11.riddles.org.uk>) |
| Ответы |
Re: Bug fix for glibc broke freebsd build in REL_11_STABLE
Re: Bug fix for glibc broke freebsd build in REL_11_STABLE |
| Список | pgsql-hackers |
Andrew Gierth <andrew@tao11.riddles.org.uk> writes:
> The reason it behaves oddly is this: on i387 FPU (and NOT on arm32 or on
> 32-bit i386 with a modern architecture specified to the compiler), the
> result of 1e200 * 1e180 is not in fact infinite, because it fits in an
> 80-bit long double. So __builtin_isinf reports that it is finite; but if
> it gets stored to memory as a double (e.g. to pass as a parameter to a
> function), it then becomes infinite.
Ah-hah. Can we fix it by explicitly casting the argument of isinf
to double?
regards, tom lane
В списке pgsql-hackers по дате отправления: