Re: _isnan() on Windows
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Emre Hasegeli <emre@hasegeli.com>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Thomas Munro <thomas.munro@enterprisedb.com>, Andres Freund <andres@anarazel.de>
Date: 2018-07-10T17:51:29Z
Lists: pgsql-hackers
On 2018-Jul-10, Emre Hasegeli wrote: > isnan() function is evidently not present on <math.h> on Windows > before Visual Studio 2013. We define it on win32_port.h using > _isnan(). However _isnan() is also not present. It is on <float.h>. > The patch is attached to include this from win32_port.h. > > Thanks to Thomas Munro for point this out to me [1]. It is hard to > notice this issue without testing the changes on Windows. Oh, it looks like commits 33a7101281c6, 8e211f539146, 86dbbf20d849 (probably others) papered over this by the expedient of adding #include <float.h> to random .c files rather than your patch, which seems the proper fix. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Silence MSVC warnings about redefinition of isnan
- d5d7f7f3b78e 12.0 landed
-
Rethink how to get float.h in old Windows API for isnan/isinf
- f2c587067a8e 12.0 landed