Fix up ecpg's configuration so it handles "long long int" in MSVC builds.
Tom Lane <tgl@sss.pgh.pa.us>
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
Files
| Path | Change | +/− |
|---|---|---|
| src/include/pg_config.h.win32 | modified | +5 −0 |
| src/tools/msvc/Solution.pm | modified | +2 −1 |
Discussion
- BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT 32 messages · 2018-02-23 → 2018-05-20