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

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT
Дата
Msg-id 24769.1526772680@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT  (Andrew Dunstan <andrew@dunslane.net>)
Ответы Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT  (Andrew Dunstan <andrew@dunslane.net>)
Список pgsql-bugs
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


В списке pgsql-bugs по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT