]> granicus.if.org Git - postgresql/commit
New method for preventing compile-time calculation of degree constants.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 25 Apr 2016 19:21:04 +0000 (15:21 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 25 Apr 2016 19:21:04 +0000 (15:21 -0400)
commit6b1a213bbd6599228b2b67f7552ff7cc378797bf
tree0b8488b74d229af99e23cc520bf9186c57498174
parent40e89e2ab89cb2801f6bc02f08dcc24d547530fc
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.)
src/backend/utils/adt/float.c