postgres.git / summary / log / commit / refs

commit    51057feaa6bd24b51e6a4715c2090491ef037534
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Tue Feb 27 21:46:52 2018 +0000
First released in: 11.0, 9.3.23, 9.4.18, 9.5.13, 9.6.9, 10.4

    Fix up ecpg's configuration so it handles "long long int" in MSVC builds.
    
    Although configure-based builds correctly define HAVE_LONG_LONG_INT when
    appropriate (in both pg_config.h and ecpg_config.h), builds using the MSVC
    scripts failed to do so.  This currently has no impact on the backend,
    since it uses that symbol nowhere; but it does prevent ecpg from
    supporting "long long int".  Fix that.
    
    Also, adjust Solution.pm so that in the constructed ecpg_config.h file,
    the "#if (_MSC_VER > 1200)" covers only the LONG_LONG_INT-related
    #defines, not the whole file.  AFAICS this was a thinko on somebody's
    part: ENABLE_THREAD_SAFETY should always be defined in Windows builds,
    and in branches using USE_INTEGER_DATETIMES, the setting of that shouldn't
    depend on the compiler version either.  If I'm wrong, I imagine the
    buildfarm will say so.
    
    Per bug #15080 from Jonathan Allen; issue diagnosed by Michael Meskes
    and Andrew Gierth.  Back-patch to all supported branches.
    
    Discussion: https://postgr.es/m/151935568942.1461.14623890240535309745@wrigleys.postgresql.org


src/include/pg_config.h.win32 | 5 +++++ src/tools/msvc/Solution.pm | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32 index 22d19ed7944..7150f7614f2 100644 --- a/src/include/pg_config.h.win32 +++ b/src/include/pg_config.h.win32 @@ -236,6 +236,11 @@ /* Define to 1 if `long int' works and is 64 bits. */ /* #undef HAVE_LONG_INT_64 */ +/* Define to 1 if the system has the type `long long int'. */ +#if (_MSC_VER > 1200) +#define HAVE_LONG_LONG_INT 1 +#endif + /* Define to 1 if `long long int' works and is 64 bits. */ #if (_MSC_VER > 1200) #define HAVE_LONG_LONG_INT_64 1 diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index d3b50bd4efd..36e9fd70d32 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -424,10 +424,11 @@ s{PG_VERSION_STR "[^"]+"}{PG_VERSION_STR "PostgreSQL $self->{strver}$extraver, c || confess "Could not open ecpg_config.h"; print $o <<EOF; #if (_MSC_VER > 1200) +#define HAVE_LONG_LONG_INT 1 #define HAVE_LONG_LONG_INT_64 1 +#endif #define ENABLE_THREAD_SAFETY 1 EOF - print $o "#endif\n"; close($o); } [parent: e98a4de7d23a]