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]