Re: Windows vs C99 (was Re: C99 compliance for src/port/snprintf.c)

Andrew Dunstan <andrew.dunstan@2ndquadrant.com>

From: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
To: Andres Freund <andres@anarazel.de>, "Joshua D. Drake" <jd@commandprompt.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, sandeep.thakkar@enterprisedb.com, Thomas Munro <thomas.munro@enterprisedb.com>, David Steele <david@pgmasters.net>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-08-21T21:58:00Z
Lists: pgsql-hackers

On 08/21/2018 04:49 PM, Andres Freund wrote:
> On 2018-08-21 11:09:15 -0700, Joshua D. Drake wrote:
>> On 08/21/2018 11:06 AM, Andrew Dunstan wrote:
>>>
>>>
>>> XP at least is essentially a dead platform for us. My animals are not
>>> able to build anything after release 10.
>> I wouldn't think XP should even be on our list anymore. Microsoft hasn't
>> supported it in 4 years.
> XP isn't the only thing relevant here, vista and 2008 R1 are in the same
> class.
>


I do have a machine in my laptop graveyard with Vista. The only WS2008 
instace I have available is R2 and AWS doesn't seem to have any AMIs for R1.

Honestly, I don't think these matter terribly much. Anyone building now 
is not likely to be targeting them.

Of the buildfarm animals, dory looks OK, hamerkop, bowerbird and thrips 
look not ok, and whelk and woodlouse look borderline.

I'm perfectly prepared to upgrade bowerbird if necessary.

cheers

andrew

-- 
Andrew Dunstan                https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Remove test for VA_ARGS, implied by C99.

  2. Introduce minimal C99 usage to verify compiler support.

  3. Require C99 (and thus MSCV 2013 upwards).

  4. Require a C99-compliant snprintf(), and remove related workarounds.

  5. Try to enable C99 in configure, but do not rely on it (yet).

  6. Make snprintf.c follow the C99 standard for snprintf's result value.

  7. Clean up assorted misuses of snprintf()'s result value.