Define _WINSOCK_DEPRECATED_NO_WARNINGS in all MSVC builds.

Commit 0fb54de9a thought that this was only needed in VS2015 and later,
but buildfarm member woodlouse shows that at least VS2013 whines as
well.  Let's just define it regardless of MSVC version; it should be
harmless enough in older releases.

Also, in the wake of ed9b3606d, it seems better to put it in win32_port.h
where <winsock2.h> is included.

Since this is only suppressing a pedantic compiler warning, I don't
feel a need for a back-patch.

Discussion: https://postgr.es/m/20124.1510850225@sss.pgh.pa.us
This commit is contained in:
Tom Lane 2017-11-16 12:03:04 -05:00
parent 98d54bb779
commit ff2d4356f8
2 changed files with 8 additions and 3 deletions

View File

@ -15,11 +15,8 @@
* Studio 2015 the minimum requirement is Windows Vista (0x0600) to
* get support for GetLocaleInfoEx() with locales. For everything else
* the minimum version is Windows XP (0x0501).
* Also for VS2015, add a define that stops compiler complaints about
* using the old Winsock API.
*/
#if defined(_MSC_VER) && _MSC_VER >= 1900
#define _WINSOCK_DEPRECATED_NO_WARNINGS
#define MIN_WINNT 0x0600
#else
#define MIN_WINNT 0x0501

View File

@ -27,6 +27,14 @@
#undef ERROR
/*
* VS2013 and later issue warnings about using the old Winsock API,
* which we don't really want to hear about.
*/
#ifdef _MSC_VER
#define _WINSOCK_DEPRECATED_NO_WARNINGS
#endif
/*
* The MinGW64 headers choke if this is already defined - they
* define it themselves.