Rethink how to get float.h in old Windows API for isnan/isinf
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 11 Jul 2018 13:09:59 +0000 (09:09 -0400)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 11 Jul 2018 13:11:48 +0000 (09:11 -0400)
commitf2c587067a8eb9cf1c8f009262381a6576ba3dd0
tree187b568af528038ae94f9606b3c0c8d0778cfdee
parenta01d0fa1d889cc2003e1941e8b98707c4d701ba9
Rethink how to get float.h in old Windows API for isnan/isinf

We include <float.h> in every place that needs isnan(), because MSVC
used to require it.  However, since MSVC 2013 that's no longer necessary
(cf. commit cec8394b5ccd), so we can retire the inclusion to a
version-specific stanza in win32_port.h, where it doesn't need to
pollute random .c files.  The header is of course still needed in a few
places for other reasons.

I (Álvaro) removed float.h from a few more files than in Emre's original
patch.  This doesn't break the build in my system, but we'll see what
the buildfarm has to say about it all.

Author: Emre Hasegeli
Discussion: https://postgr.es/m/CAE2gYzyc0+5uG+Cd9-BSL7NKC8LSHLNg1Aq2=8ubjnUwut4_iw@mail.gmail.com
24 files changed:
contrib/cube/cube.c
contrib/jsonb_plperl/jsonb_plperl.c
contrib/tsm_system_time/tsm_system_time.c
src/backend/access/gist/gistproc.c
src/backend/access/gist/gistutil.c
src/backend/access/tablesample/bernoulli.c
src/backend/access/tablesample/system.c
src/backend/optimizer/path/costsize.c
src/backend/utils/adt/arrayfuncs.c
src/backend/utils/adt/datetime.c
src/backend/utils/adt/int8.c
src/backend/utils/adt/nabstime.c
src/backend/utils/adt/orderedsetaggs.c
src/backend/utils/adt/selfuncs.c
src/backend/utils/adt/timestamp.c
src/backend/utils/misc/help_config.c
src/include/port/win32_port.h
src/interfaces/ecpg/ecpglib/data.c
src/interfaces/ecpg/ecpglib/execute.c
src/interfaces/ecpg/pgtypeslib/datetime.c
src/interfaces/ecpg/pgtypeslib/timestamp.c
src/port/rint.c
src/port/snprintf.c
src/test/regress/regress.c