Use return instead of exit() in configure
authorTom Lane <[email protected]>
Sun, 12 Dec 2021 19:54:26 +0000 (14:54 -0500)
committerTom Lane <[email protected]>
Sun, 12 Dec 2021 19:54:26 +0000 (14:54 -0500)
Using exit() requires stdlib.h, which is not included.  Use return
instead.  Also add return type for main().

This back-patches commit 1c0cf52b3 into out-of-support branches,
pursuant to a newly-established project policy that we'll try to keep
out-of-support branches buildable on modern platforms for at least
ten major releases back, ensuring people can test pg_dump and psql
compatibility against servers that far back.  With the current
development branch being v15, that works out to keeping 9.2 and up
buildable as of today.

This fix is needed to get through 'configure' when using recent
macOS (and possibly other clang-based toolchains).  It seems to
be sufficient to get through 'check-world', although there are
annoyances such as compiler warnings, which will be dealt with
separately.

Original patch by Peter Eisentraut

Discussion: https://postgr.es/m/d0316012-ece7-7b7e-2d36-9c38cb77cb3b@enterprisedb.com

config/c-compiler.m4
config/c-library.m4
configure

index 802f5539d34bdf133486556e03863588fa6320ba..60ad77c88adf3d750e3a6dc45de50af696cb4b03 100644 (file)
@@ -84,8 +84,10 @@ int does_int64_work()
     return 0;
   return 1;
 }
+
+int
 main() {
-  exit(! does_int64_work());
+  return (! does_int64_work());
 }],
 [Ac_cachevar=yes],
 [Ac_cachevar=no],
index 82bf144be13114dd84fdc4bdcfd2be4eec7fef08..33fcd463494aacaa432d2331bade5bb81b53e6cb 100644 (file)
@@ -255,8 +255,10 @@ int does_int64_snprintf_work()
     return 0;          /* either multiply or snprintf is busted */
   return 1;
 }
+
+int
 main() {
-  exit(! does_int64_snprintf_work());
+  return (! does_int64_snprintf_work());
 }],
 [pgac_cv_snprintf_long_long_int_format=$pgac_format; break],
 [],
index b19c0e6bb50fcd00f1f227d05f7d1477ccae9b8a..f7e294083a1dff7d693d1e424b7e176cb855b0c8 100755 (executable)
--- a/configure
+++ b/configure
@@ -13757,8 +13757,10 @@ int does_int64_work()
     return 0;
   return 1;
 }
+
+int
 main() {
-  exit(! does_int64_work());
+  return (! does_int64_work());
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
@@ -13839,8 +13841,10 @@ int does_int64_work()
     return 0;
   return 1;
 }
+
+int
 main() {
-  exit(! does_int64_work());
+  return (! does_int64_work());
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
@@ -13915,8 +13919,10 @@ int does_int64_snprintf_work()
     return 0;          /* either multiply or snprintf is busted */
   return 1;
 }
+
+int
 main() {
-  exit(! does_int64_snprintf_work());
+  return (! does_int64_snprintf_work());
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :