pgsql: New method for preventing compile-time calculation of degree con

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: New method for preventing compile-time calculation of degree con
Date: 2016-04-25 19:21:13
Message-ID: E1aum4H-0001hB-PU@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

New method for preventing compile-time calculation of degree constants.

Commit 65abaab547a5758b tried to prevent the scaling constants used in
the degree-based trig functions from being precomputed at compile time,
because some compilers do that with functions that don't yield results
identical-to-the-last-bit to what you get at runtime. A report from
Peter Eisentraut suggests that some recent compilers are smart enough
to see through that trick, though. Instead, let's put the inputs to
these calculations into non-const global variables, which should be a
more reliable way of convincing the compiler that it can't assume that
they are compile-time constants. (If we really get desperate, we could
mark these variables "volatile", but I do not believe we should have to.)

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/6b1a213bbd6599228b2b67f7552ff7cc378797bf

Modified Files
--------------
src/backend/utils/adt/float.c | 49 ++++++++++++++++++++++++-------------------
1 file changed, 27 insertions(+), 22 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Christian Ullrich 2016-04-25 19:42:42 Re: pgsql: Add putenv support for msvcrt from Visual Studio 2013
Previous Message Andrew Dunstan 2016-04-25 19:18:40 Re: pgsql: Add putenv support for msvcrt from Visual Studio 2013