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

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Huong Dangminh <huo-dangminh@ys.jp.nec.com>, Jonathan Allen <jallen@americansavingslife.com>, Andrew Gierth <andrew@tao11.riddles.org.uk>, "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>, Michael Meskes <meskes@postgresql.org>, Akio Iwaasa <aki-iwaasa@vt.jp.nec.com>
Date: 2018-05-20T03:16:33Z
Lists: pgsql-bugs

On 05/19/2018 07:33 PM, Andrew Dunstan wrote:
>
>
> On 05/19/2018 07:31 PM, Tom Lane wrote:
>>
>>>      /* 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.
>>
>>
>
>
>
> Good point. Doing that now.
>


Well that seems to have crashed and burned badly. I'm just going to 
disable ecpg checks on this animal as suggested upthread.

cheers

andrew



Commits

  1. Remove configure's check for nonstandard "long long" printf modifiers.

  2. printf("%lf") is not portable, so omit the "l".

  3. Support platforms where strtoll/strtoull are spelled __strtoll/__strtoull.

  4. Arrange to supply declarations for strtoll/strtoull if needed.

  5. Hot-fix ecpg regression test for missing ecpg_config.h inclusion.

  6. Add some test coverage for ecpg's "long long" support.

  7. Recognize that MSVC can support strtoll() and strtoull().

  8. Fix up ecpg's configuration so it handles "long long int" in MSVC builds.