Re: VS 2015 support in src/tools/msvc - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: VS 2015 support in src/tools/msvc
Date
Msg-id CAB7nPqS_E6gfOoiK-OZwPeiQ1A8SaxUmD=pCo0mLtj+Pe-yLjw@mail.gmail.com
Whole thread Raw
In response to Re: VS 2015 support in src/tools/msvc  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: VS 2015 support in src/tools/msvc  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Fri, Apr 22, 2016 at 1:30 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
>> On 04/21/2016 05:15 PM, Tom Lane wrote:
>>> Do the other contrib modules all pass?  I can't recall if seg was the
>>> only one we'd left like this.
>
>> Only seg fails.
>
> As a crosscheck, I put some code into fmgr_c_validator() to log a message
> when creating a V0 function with a pass-by-val return type.  (Pass-by-ref
> is no problem, according to my hypothesis, since it necessarily means
> the C function returns a pointer.)  I get these hits in core + contrib
> regression tests:
>
> [...]
>
> If we assume that oldstyle functions returning integer are still okay,
> which the success of the regression test case involving oldstyle_length()
> seems to prove, then indeed seg's bool-returning functions are the only
> hazard.
>
> Note though that this test fails to cover any contrib modules that
> lack regression tests, since they wouldn't have gotten loaded by
> "make installcheck".

Your assumption is right. With the patch attached for contrib/seg/
that converts all those functions to use the V1 declaration, I am able
to make the tests pass. As the internal shape of the functions is not
changed and that there are no functional changes, I guess that it
would be fine to backpatch down to where VS2015 is intended to be
supported. Is anybody here foreseeing any problems for back-branches
if there is such a change?
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: VS 2015 support in src/tools/msvc
Next
From: Peter Geoghegan
Date:
Subject: Re: GIN data corruption bug(s) in 9.6devel