Re: Bug fix for glibc broke freebsd build in REL_11_STABLE

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Andrew Gierth <andrew@tao11.riddles.org.uk>, Victor Wagner <vitus@wagner.pp.ru>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-09-05T16:58:37Z
Lists: pgsql-hackers
On 2018-09-05 18:55:34 +0200, Peter Eisentraut wrote:
> On 05/09/2018 18:42, Andres Freund wrote:
> > Realistically we're going to be running into old versions of clang for a
> > long time.  And the importance of running i386 without SSE2 surely isn't
> > increasing.  So I don't really see an urgent need to do anything about
> > it. And if it gets fixed, and we care, we can just add a clang version
> > check to the test.
> 
> Another option perhaps is to let this be and accept it as alternative
> floating point behavior.  We already have some of those.

-many.  We'd directly violate our own error rules.  I'm actually
personally in favor of not throwing error when float overflows - it's
imo not actually useful and costs performance - but sometimes throwing
an error depending on the specific register allocator behaviour of a
specific version of a compiler is bad.  It's really weird to return
[+-]Infinity depending on just *how much* you overflowed.

Greetings,

Andres Freund


Commits

  1. Error out for clang on x86-32 without SSE2 support, no -fexcess-precision.

  2. Fix 8a934d677 for libc++ and make more include order resistant.