Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT - Mailing list pgsql-bugs

From Andrew Dunstan
Subject Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT
Date
Msg-id e5260c8a-f36c-ae8a-97a9-19649551afcb@dunslane.net
Whole thread Raw
In response to Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT
List pgsql-bugs

On 05/19/2018 06:49 PM, Tom Lane wrote:
>
>> So maybe we just need to define this on XP/mingw (shouldn't be necessary
>> on anything later). I don't know what other effects it might have,
>> though. Perhaps there is some other flag or define that has the same
>> effect that we use in compiling pgbench etc that isn't used by ecpg?
> 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.



>
>> Now recall that this animal is on serious life support. ...
>> Not sure how much more effort I should put in here.
> I couldn't blame you for just deciding to skip the ecpg tests on
> this critter.
>
>             


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


cheers

andrew


pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT
Next
From: Tom Lane
Date:
Subject: Re: BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT