Re: VS 2015 support in src/tools/msvc

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Christian Ullrich <chris(at)chrullrich(dot)net>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Petr Jelinek <petr(at)2ndquadrant(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Magnus Hagander <magnus(at)hagander(dot)net>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: VS 2015 support in src/tools/msvc
Date: 2016-04-08 13:05:34
Message-ID: 5707AC9E.7070309@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 04/08/2016 07:15 AM, Christian Ullrich wrote:
> * Michael Paquier wrote:
>
> > On Fri, Apr 8, 2016 at 9:29 AM, Andrew Dunstan <andrew(at)dunslane(dot)net>
> > wrote:
>
>>> Not out of the woods yet. Attached is what I got from VS2015 on a
>>> fresh W10
>>> VM, with Michael's patch 0002 and 0004 applied.
>>
>> Interesting, I have no idea what we are doing differently, and seeing
>> those errors it seems to me that Petr and I are actually getting it
>> wrong for some reason, because GetLocaleInfoEx should need a direct
>> declaration of windows.h. And similarly to some of the other files in
>> src/port I think that we should have it. Do you still get failures if
>> you add the following thing at the top of chklocale.c?
>>
>> #if defined(WIN32) && (_MSC_VER >= 1900)
>> #include "windows.h"
>> #endif
>>
>> Looking at the docs
>> (https://msdn.microsoft.com/en-us/library/windows/desktop/dd318103%28v=vs.85%29.aspx)
>>
>> winnls.h would be enough, but I'd rather be consistent with the
>> approach taken by the other files.
>
> GetLocaleInfoEx() is covered by #if (WINVER >= 0x0600), we define
> _WIN32_WINNT as 0x0501 (src/include/port/win32.h) and WINVER inherits
> that value.
>
> Michael, none of your patches change this, so how does it ever build
> on your system?
>
> MSDN also says this about the function: "Header: winnls.h (include
> windows.h)"; so there's probably something else needed to make it work
> that is not in <winnls.h> alone.

OK, at this stage it appears to me that if today is the deadline for
getting this in for 9.6 then it's going to be missed.

And no, Michael's suggested inclusion didn't help, probably for the
reasons Christian suggests.

cheers

andrew

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stas Kelvich 2016-04-08 13:09:23 Re: Speedup twophase transactions
Previous Message Anastasia Lubennikova 2016-04-08 13:05:06 Re: amcheck (B-Tree integrity checking tool)