Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Huong Dangminh <huo-dangminh(at)ys(dot)jp(dot)nec(dot)com>, Jonathan Allen <jallen(at)americansavingslife(dot)com>, Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Michael Meskes <meskes(at)postgresql(dot)org>, Akio Iwaasa <aki-iwaasa(at)vt(dot)jp(dot)nec(dot)com>
Subject: Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT
Date: 2018-05-19 23:31:20
Message-ID: 24769.1526772680@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> On 05/19/2018 06:49 PM, Tom Lane wrote:
>> Might be worth trying. As I mentioned in
>> <13103(dot)1526749980(at)sss(dot)pgh(dot)pa(dot)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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Andrew Dunstan 2018-05-19 23:33:06 Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT
Previous Message Andrew Dunstan 2018-05-19 23:23:18 Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT