Remove fallbacks for strtoll, strtoull.
authorThomas Munro <tmunro@postgresql.org>
Fri, 5 Aug 2022 21:59:45 +0000 (09:59 +1200)
committerThomas Munro <tmunro@postgresql.org>
Fri, 5 Aug 2022 21:59:51 +0000 (09:59 +1200)
strtoll was backfilled with either __strtoll or strtoq on systems without
strtoll. The last such system on the buildfarm was an ancient HP-UX animal. We
don't support HP-UX anymore, so remove.

On other systems strtoll was present, but did not have a declaration. The last
known instance on the buildfarm was running an ancient OSX and shut down in
2019.

Author: Andres Freund <andres@anarazel.de>
Reviewed-by: Thomas Munro <thomas.munro@gmail.com>
Discussion: https://postgr.es/m/20220804013546.h65najrzig764jar@awork3.anarazel.de

configure
configure.ac
src/include/c.h
src/include/pg_config.h.in
src/interfaces/ecpg/ecpglib/data.c
src/timezone/private.h
src/tools/msvc/Solution.pm

index da28a6bb8b094e0cc7188d42c7c261fa45534188..aa7f55b33a61c137da71c249fe40ced0ad8964a6 100755 (executable)
--- a/configure
+++ b/configure
@@ -17132,53 +17132,6 @@ $as_echo "#define HAVE_INT_OPTRESET 1" >>confdefs.h
 
 fi
 
-for ac_func in strtoll __strtoll strtoq
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- break
-fi
-done
-
-for ac_func in strtoull __strtoull strtouq
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- break
-fi
-done
-
-# strto[u]ll may exist but not be declared
-ac_fn_c_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoll" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOLL $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strtoull" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOULL $ac_have_decl
-_ACEOF
-
-
 if test "$with_icu" = yes; then
   ac_save_CPPFLAGS=$CPPFLAGS
   CPPFLAGS="$ICU_CFLAGS $CPPFLAGS"
index fada092cf386be8f06130257f9818a2c78c65c17..6a9463b5ae2abaed5b296fa1897fe8416a97978b 100644 (file)
@@ -1981,11 +1981,6 @@ if test x"$pgac_cv_var_int_optreset" = x"yes"; then
   AC_DEFINE(HAVE_INT_OPTRESET, 1, [Define to 1 if you have the global variable 'int optreset'.])
 fi
 
-AC_CHECK_FUNCS([strtoll __strtoll strtoq], [break])
-AC_CHECK_FUNCS([strtoull __strtoull strtouq], [break])
-# strto[u]ll may exist but not be declared
-AC_CHECK_DECLS([strtoll, strtoull])
-
 if test "$with_icu" = yes; then
   ac_save_CPPFLAGS=$CPPFLAGS
   CPPFLAGS="$ICU_CFLAGS $CPPFLAGS"
index d35405f191a51635dd2efdb506131a3a627f31df..8c4baeb0ec379133b6871c85b01f09f6d5d8267c 100644 (file)
@@ -1294,35 +1294,6 @@ typedef union PGAlignedXLogBlock
 extern int     fdatasync(int fildes);
 #endif
 
-/* Older platforms may provide strto[u]ll functionality under other names */
-#if !defined(HAVE_STRTOLL) && defined(HAVE___STRTOLL)
-#define strtoll __strtoll
-#define HAVE_STRTOLL 1
-#endif
-
-#if !defined(HAVE_STRTOLL) && defined(HAVE_STRTOQ)
-#define strtoll strtoq
-#define HAVE_STRTOLL 1
-#endif
-
-#if !defined(HAVE_STRTOULL) && defined(HAVE___STRTOULL)
-#define strtoull __strtoull
-#define HAVE_STRTOULL 1
-#endif
-
-#if !defined(HAVE_STRTOULL) && defined(HAVE_STRTOUQ)
-#define strtoull strtouq
-#define HAVE_STRTOULL 1
-#endif
-
-#if defined(HAVE_STRTOLL) && !HAVE_DECL_STRTOLL
-extern long long strtoll(const char *str, char **endptr, int base);
-#endif
-
-#if defined(HAVE_STRTOULL) && !HAVE_DECL_STRTOULL
-extern unsigned long long strtoull(const char *str, char **endptr, int base);
-#endif
-
 /*
  * Thin wrappers that convert strings to exactly 64-bit integers, matching our
  * definition of int64.  (For the naming, compare that POSIX has
index 2a0d08d10f565955e17b55136b17c98317b1c71c..b584788dc08c455738f2b7e596363d6a415bc12f 100644 (file)
    don't. */
 #undef HAVE_DECL_STRNLEN
 
-/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRTOLL
-
-/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
-   don't. */
-#undef HAVE_DECL_STRTOULL
-
 /* Define to 1 if you have the <editline/history.h> header file. */
 #undef HAVE_EDITLINE_HISTORY_H
 
 /* Define to 1 if you have the `strtof' function. */
 #undef HAVE_STRTOF
 
-/* Define to 1 if you have the `strtoll' function. */
-#undef HAVE_STRTOLL
-
-/* Define to 1 if you have the `strtoq' function. */
-#undef HAVE_STRTOQ
-
-/* Define to 1 if you have the `strtoull' function. */
-#undef HAVE_STRTOULL
-
-/* Define to 1 if you have the `strtouq' function. */
-#undef HAVE_STRTOUQ
-
 /* Define to 1 if the system has the type `struct addrinfo'. */
 #undef HAVE_STRUCT_ADDRINFO
 
 /* Define to 1 if your compiler understands _Static_assert. */
 #undef HAVE__STATIC_ASSERT
 
-/* Define to 1 if you have the `__strtoll' function. */
-#undef HAVE___STRTOLL
-
-/* Define to 1 if you have the `__strtoull' function. */
-#undef HAVE___STRTOULL
-
 /* Define to the appropriate printf length modifier for 64-bit ints. */
 #undef INT64_MODIFIER
 
index a1bba42bb8f70d52e2d604717bab554cf20b79c7..bf9b313a114b5cc3f04edb1b8391fdd69c45829f 100644 (file)
@@ -438,7 +438,6 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
                                        }
                                        break;
 
-#ifdef HAVE_STRTOLL
                                case ECPGt_long_long:
                                        *((long long int *) (var + offset * act_tuple)) = strtoll(pval, &scan_length, 10);
                                        if (garbage_left(isarray, &scan_length, compat))
@@ -449,8 +448,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
                                        pval = scan_length;
 
                                        break;
-#endif                                                 /* HAVE_STRTOLL */
-#ifdef HAVE_STRTOULL
+
                                case ECPGt_unsigned_long_long:
                                        *((unsigned long long int *) (var + offset * act_tuple)) = strtoull(pval, &scan_length, 10);
                                        if (garbage_left(isarray, &scan_length, compat))
@@ -461,7 +459,6 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
                                        pval = scan_length;
 
                                        break;
-#endif                                                 /* HAVE_STRTOULL */
 
                                case ECPGt_float:
                                case ECPGt_double:
index 533e3d9f4ed15ade3760ce697e9c7f72235f811e..39d40e43a9f70126ac79186fa6f2db79c7c1e9ed 100644 (file)
 
 /* PG doesn't currently rely on <inttypes.h>, so work around strtoimax() */
 #undef strtoimax
-#ifdef HAVE_STRTOLL
 #define strtoimax strtoll
-#else
-#define strtoimax strtol
-#endif
 
 
 /*
index d7ab6ab2587aa47346249d538ffd915b91da7b09..9fe53bb036e38dba86e0880541668d513f1c43dc 100644 (file)
@@ -246,8 +246,6 @@ sub GenerateFiles
                HAVE_DECL_STRLCAT                           => 0,
                HAVE_DECL_STRLCPY                           => 0,
                HAVE_DECL_STRNLEN                           => 1,
-               HAVE_DECL_STRTOLL                           => 1,
-               HAVE_DECL_STRTOULL                          => 1,
                HAVE_EDITLINE_HISTORY_H                     => undef,
                HAVE_EDITLINE_READLINE_H                    => undef,
                HAVE_EXECINFO_H                             => undef,
@@ -354,10 +352,6 @@ sub GenerateFiles
                HAVE_STRNLEN                             => 1,
                HAVE_STRSIGNAL                           => undef,
                HAVE_STRTOF                              => 1,
-               HAVE_STRTOLL                             => 1,
-               HAVE_STRTOQ                              => undef,
-               HAVE_STRTOULL                            => 1,
-               HAVE_STRTOUQ                             => undef,
                HAVE_STRUCT_ADDRINFO                     => 1,
                HAVE_STRUCT_CMSGCRED                     => undef,
                HAVE_STRUCT_OPTION                       => undef,
@@ -423,8 +417,6 @@ sub GenerateFiles
                HAVE__CPUID                              => 1,
                HAVE__GET_CPUID                          => undef,
                HAVE__STATIC_ASSERT                      => undef,
-               HAVE___STRTOLL                           => undef,
-               HAVE___STRTOULL                          => undef,
                INT64_MODIFIER                           => qq{"ll"},
                LOCALE_T_IN_XLOCALE                      => undef,
                MAXIMUM_ALIGNOF                          => 8,