Andrew Dunstan <andrew@dunslane.net> writes:
> On 05/19/2018 06:49 PM, Tom Lane wrote:
>> Might be worth trying. As I mentioned in
>> <13103.1526749980@sss.pgh.pa.us>, it seems like it's time to jettison
>> any pretense of support for non-C99-compliant spellings of "%lld".
>> It'd be good to know whether __USE_MINGW_ANSI_STDIO works for that
>> purpose on ancient MinGW.
> Is anybody actually using the I64 stuff any more? I guess we can look at
> the config.logs of recent buildfarm builds.
Yeah, I already did. Every active member is reporting "ll" or "l"
for INT64_MODIFIER. In some cases such as frogmouth, I believe this
is because we're overriding the initial result for the benefit of
our replacement snprintf --- but nonetheless, we're not using I64.
The info I've been able to find on the web suggests that in all
post-XP-or-so Windows versions, printf does accept "ll".
> Well, I think we can make a little effort here. I think we just need to
> put something like this somewhere before we include stdio.h:
> /* add this define on XP only, not needed elsewhere */
> #ifdef WIN32_WINNT
> #if WIN32_WINNT < 0x0600
> #define __USE_MINGW_ANSI_STDIO 1
> #endif
> #endif
I'd be inclined to just stick -D__USE_MINGW_ANSI_STDIO=1 into
frogmouth's configuration. Given that we've already tossed
support for XP overboard in HEAD, it would seem a bit silly
to put it back in this way.
regards, tom lane