Re: Bug fix for glibc broke freebsd build in REL_11_STABLE - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Bug fix for glibc broke freebsd build in REL_11_STABLE
Date
Msg-id 2481.1536097589@sss.pgh.pa.us
Whole thread Raw
In response to Re: Bug fix for glibc broke freebsd build in REL_11_STABLE  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
Responses 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  (Andres Freund <andres@anarazel.de>)
List 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 by date:

Previous
From: Tom Lane
Date:
Subject: Re: test_pg_dump missing cleanup actions
Next
From: Peter Geoghegan
Date:
Subject: Re: Bug in ginRedoRecompress that causes opaque data on page to be overrun