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
|
Список | 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 по дате отправления: