Ensure HAVE_DECL_XXX macros in MSVC builds match those in Unix.
authorTom Lane
Thu, 15 Jul 2021 15:00:43 +0000 (11:00 -0400)
committerTom Lane
Thu, 15 Jul 2021 15:00:43 +0000 (11:00 -0400)
Autoconf's AC_CHECK_DECLS() always defines HAVE_DECL_whatever
as 1 or 0, but some of the entries in msvc/Solution.pm showed
such symbols as "undef" instead of 0.  Fix that for consistency.
There's no live bug in current usages AFAICS, but it's not hard
to imagine one creeping in if more-complex #if tests get added.

Back-patch to v13, which is as far back as Solution.pm contains
this data.  The inconsistency still exists in the manually-filled
pg_config_ext.h.win32 files of older branches; but as long as the
problem is only latent, it doesn't seem worth the trouble to
clean things up there.

Discussion: https://postgr.es/m/3185430.1626133592@sss.pgh.pa.us

src/tools/msvc/Solution.pm

index 294b968dcdb5cdf1f097d3a3f80a5f2371c7512b..cfda5ac18551d9dd7b83f4543e33e4e0d4e9a648 100644 (file)
@@ -239,18 +239,18 @@ sub GenerateFiles
        HAVE_CRYPTO_LOCK           => undef,
        HAVE_DECL_FDATASYNC        => 0,
        HAVE_DECL_F_FULLFSYNC      => 0,
-       HAVE_DECL_LLVMCREATEGDBREGISTRATIONLISTENER => undef,
-       HAVE_DECL_LLVMCREATEPERFJITEVENTLISTENER    => undef,
+       HAVE_DECL_LLVMCREATEGDBREGISTRATIONLISTENER => 0,
+       HAVE_DECL_LLVMCREATEPERFJITEVENTLISTENER    => 0,
        HAVE_DECL_LLVMGETHOSTCPUNAME                => 0,
        HAVE_DECL_LLVMGETHOSTCPUFEATURES            => 0,
        HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN         => 0,
-       HAVE_DECL_POSIX_FADVISE                     => undef,
+       HAVE_DECL_POSIX_FADVISE                     => 0,
        HAVE_DECL_PREADV                            => 0,
        HAVE_DECL_PWRITEV                           => 0,
        HAVE_DECL_RTLD_GLOBAL                       => 0,
        HAVE_DECL_RTLD_NOW                          => 0,
-       HAVE_DECL_STRLCAT                           => undef,
-       HAVE_DECL_STRLCPY                           => undef,
+       HAVE_DECL_STRLCAT                           => 0,
+       HAVE_DECL_STRLCPY                           => 0,
        HAVE_DECL_STRNLEN                           => 1,
        HAVE_DECL_STRTOLL                           => 1,
        HAVE_DECL_STRTOULL                          => 1,