From: Tom Lane <tgl@sss.pgh.pa.us>
To: higuchi.daisuke@fujitsu.com
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #17681: Building the REL_12_13 source in Visual Studio 2013 fails.
Date: Wed, 09 Nov 2022 10:37:46 -0500
Message-ID: <3977658.1668008266@sss.pgh.pa.us> (raw)
In-Reply-To: <3969640.1668005050@sss.pgh.pa.us>
References: <17681-485ba2ec13e7f392@postgresql.org>
<3969640.1668005050@sss.pgh.pa.us>
I wrote:
> Thanks for checking that. However, as that commit message says,
> we require C99 support in v12 and up, and snprintf is definitely
> required by C99. So I'm disinclined to revert that. If VS2013
> can't supply snprintf, it's not meeting our minimum platform
> standards, so we should remove it from the list of supported
> platforms.
> Having said that, Microsoft had had well over a dozen years by
> that point to get off their duffs and build a C99-compliant
> library.
After googling the question, I find that indeed Microsoft couldn't
be bothered to support snprintf until VS2015. Bozos. Still,
I suppose it'd be better to not move this portability goalpost
in released branches. We could do something like
#if defined(_MSC_VER) && _MSC_VER < 1900 /* pre-VS2015 */
#define snprintf(str,size,...) sprintf(str,__VA_ARGS__)
#endif
in snprintf.c below where it #undef's snprintf. Could you
try that and verify it works for you?
Also, the reason we didn't notice this problem is the lack of any
VS2013 animal in the buildfarm. While we've dropped support for
that as of HEAD (v16), it seems like somebody had better run such
an animal on the back branches if they want the platform to
keep working.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: tgl@sss.pgh.pa.us, higuchi.daisuke@fujitsu.com, pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #17681: Building the REL_12_13 source in Visual Studio 2013 fails.
In-Reply-To: <3977658.1668008266@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox