Re: [PATCH] Improve geometric types
Thomas Munro <thomas.munro@enterprisedb.com>
From: Thomas Munro <thomas.munro@enterprisedb.com>
To: emre@hasegeli.com
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>, Tomas Vondra <tomas.vondra@2ndquadrant.com>
Date: 2018-06-05T03:39:16Z
Lists: pgsql-hackers
On Sun, Jun 3, 2018 at 12:58 PM, Emre Hasegeli <emre@hasegeli.com> wrote: > Rebased versions are attached. Hi Emre, This produces build errors on Windows[1][2]: C:\projects\postgresql\src\include\utils/float.h(136): warning C4013: '_fpclass' undefined; assuming extern returning int [C:\projects\postgresql\postgres.vcxproj] C:\projects\postgresql\src\include\utils/float.h(297): warning C4013: '_isnan' undefined; assuming extern returning int [C:\projects\postgresql\postgres.vcxproj] C:\projects\postgresql\src\include\utils/float.h(136): error C2065: '_FPCLASS_PINF' : undeclared identifier [C:\projects\postgresql\postgres.vcxproj] C:\projects\postgresql\src\include\utils/float.h(136): error C2065: '_FPCLASS_NINF' : undeclared identifier [C:\projects\postgresql\postgres.vcxproj] 2778 This is apparently coming from the expansion of the following macros from src/include/port/win32_port.h: #if (_MSC_VER < 1800) #define isinf(x) ((_fpclass(x) == _FPCLASS_PINF) || (_fpclass(x) == _FPCLASS_NINF)) #define isnan(x) _isnan(x) #endif Those underscore-prefixed names are defined in Microsoft's <float.h>[3][4]. So now I'm wondering if win32_port.h needs to #include <float.h> if (_MSC_VER < 1800). [1] http://cfbot.cputube.org/emre-hasegeli.html [2] https://ci.appveyor.com/project/postgresql-cfbot/postgresql/build/1.0.1022 [3] https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/fpclass-fpclassf [4] https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/isnan-isnan-isnanf -- Thomas Munro http://www.enterprisedb.com
Commits
-
Improve test coverage of geometric types
- a3d2844852dc 12.0 landed
-
Fix problems in handling the line data type
- 2e2a392de391 12.0 landed
-
Use the built-in float datatypes to implement geometric types
- c4c340088546 12.0 landed
-
Remove remaining GEODEBUG references from geo_ops.c
- a082aed0723c 12.0 landed
-
Provide separate header file for built-in float types
- 6bf0bc842bd7 12.0 landed
-
Refactor geometric functions and operators
- a7dc63d904a6 12.0 landed
-
Fix crash in close_ps() for NaN input coordinates.
- 278148907a97 9.6.0 cited
-
Fix GiST index build for NaN values in geometric types.
- 1acf75725545 9.6.0 cited
-
Enable building with Visual Studion 2013.
- cec8394b5ccd 9.4.0 cited
-
Suppress -0 in the C field of lines computed by line_construct_pts().
- 43fe90f66a0b 9.4.0 cited