_WINSOCK_DEPRECATED_NO_WARNINGS

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)postgreSQL(dot)org
Subject: _WINSOCK_DEPRECATED_NO_WARNINGS
Date: 2017-11-16 16:37:05
Message-ID: 20124.1510850225@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Checking the buildfarm to see if ed9b3606d broke anything, I notice
that woodlouse is producing stacks of warnings like this:

src/port/thread.c(134): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings [C:\buildfarm\buildenv\HEAD\pgsql.build\libpgport.vcxproj]
C:\Program Files (x86)\Windows Kits\8.1\Include\um\winsock2.h(2238) : see declaration of 'gethostbyname'

and was doing so before that commit, so it's not my fault :-)

win32.h has

* 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

but evidently it chose the wrong cutoff for when to enable that
symbol, because woodlouse is (or claims to be) running VS2013.

Is there any good reason not to just define
_WINSOCK_DEPRECATED_NO_WARNINGS unconditionally? Presumably
it would have no effect on VS versions too old to know the symbol.

I'm a bit inclined to move it to win32_port.h, as well,
since that's what includes <winsock2.h>.

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Serge Rielau 2017-11-16 16:50:55 Re: Treating work_mem as a shared resource (Was: Parallel Hash take II)
Previous Message Andrew Dunstan 2017-11-16 16:21:11 Re: pgsql: Disable installcheck tests for test_session_hooks