Re: Bug fix for glibc broke freebsd build in REL_11_STABLE
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Gierth <andrew@tao11.riddles.org.uk>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>,
Andres Freund <andres@anarazel.de>,
Victor Wagner <vitus@wagner.pp.ru>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-09-05T19:16:17Z
Lists: pgsql-hackers
Andrew Gierth <andrew@tao11.riddles.org.uk> writes: > The problem is that if we're relying on -fexcess-precision=standard > semantics in places besides infinity checks, then we won't get those > semantics on clang/i386/no-sse2 since it has no comparable option. (What > are we doing about compilers for x86-32 other than clang and gcc?) Well, the bigger problem is that we don't really know exactly where nonstandard precision semantics might cause visible behavior changes. It's just about a dead certainty, IMO, that there are some other places we don't know about because the regression tests don't expose them; or that future code rearrangements might create new problems. Given that (if I understand Andres correctly) -fexcess-precision=standard behavior is required by C99, it's hard to get excited about expending a whole lot of work here. I'm fine with adding some compiler options or telling the user to do so, but I don't think we should do anything much beyond that. regards, tom lane
Commits
-
Error out for clang on x86-32 without SSE2 support, no -fexcess-precision.
- 978515df2278 9.3.25 landed
- 29196e13cd70 9.4.20 landed
- dbbc98a9ef67 9.5.15 landed
- e553997e3f59 9.6.11 landed
- 1b8f09dbd352 10.6 landed
- 84f14fb78852 11.0 landed
- bd1463e348fc 12.0 landed
-
Fix 8a934d677 for libc++ and make more include order resistant.
- 1f349aa7d9a6 11.0 cited