mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
Remove fallbacks for strtoll, strtoull.
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
This commit is contained in:
parent
f68faf4c75
commit
feb593506b
47
configure
vendored
47
configure
vendored
@ -17132,53 +17132,6 @@ $as_echo "#define HAVE_INT_OPTRESET 1" >>confdefs.h
|
|||||||
|
|
||||||
fi
|
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
|
if test "$with_icu" = yes; then
|
||||||
ac_save_CPPFLAGS=$CPPFLAGS
|
ac_save_CPPFLAGS=$CPPFLAGS
|
||||||
CPPFLAGS="$ICU_CFLAGS $CPPFLAGS"
|
CPPFLAGS="$ICU_CFLAGS $CPPFLAGS"
|
||||||
|
@ -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'.])
|
AC_DEFINE(HAVE_INT_OPTRESET, 1, [Define to 1 if you have the global variable 'int optreset'.])
|
||||||
fi
|
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
|
if test "$with_icu" = yes; then
|
||||||
ac_save_CPPFLAGS=$CPPFLAGS
|
ac_save_CPPFLAGS=$CPPFLAGS
|
||||||
CPPFLAGS="$ICU_CFLAGS $CPPFLAGS"
|
CPPFLAGS="$ICU_CFLAGS $CPPFLAGS"
|
||||||
|
@ -1294,35 +1294,6 @@ typedef union PGAlignedXLogBlock
|
|||||||
extern int fdatasync(int fildes);
|
extern int fdatasync(int fildes);
|
||||||
#endif
|
#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
|
* Thin wrappers that convert strings to exactly 64-bit integers, matching our
|
||||||
* definition of int64. (For the naming, compare that POSIX has
|
* definition of int64. (For the naming, compare that POSIX has
|
||||||
|
@ -150,14 +150,6 @@
|
|||||||
don't. */
|
don't. */
|
||||||
#undef HAVE_DECL_STRNLEN
|
#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. */
|
/* Define to 1 if you have the <editline/history.h> header file. */
|
||||||
#undef HAVE_EDITLINE_HISTORY_H
|
#undef HAVE_EDITLINE_HISTORY_H
|
||||||
|
|
||||||
@ -481,18 +473,6 @@
|
|||||||
/* Define to 1 if you have the `strtof' function. */
|
/* Define to 1 if you have the `strtof' function. */
|
||||||
#undef HAVE_STRTOF
|
#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'. */
|
/* Define to 1 if the system has the type `struct addrinfo'. */
|
||||||
#undef HAVE_STRUCT_ADDRINFO
|
#undef HAVE_STRUCT_ADDRINFO
|
||||||
|
|
||||||
@ -688,12 +668,6 @@
|
|||||||
/* Define to 1 if your compiler understands _Static_assert. */
|
/* Define to 1 if your compiler understands _Static_assert. */
|
||||||
#undef HAVE__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. */
|
/* Define to the appropriate printf length modifier for 64-bit ints. */
|
||||||
#undef INT64_MODIFIER
|
#undef INT64_MODIFIER
|
||||||
|
|
||||||
|
@ -438,7 +438,6 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef HAVE_STRTOLL
|
|
||||||
case ECPGt_long_long:
|
case ECPGt_long_long:
|
||||||
*((long long int *) (var + offset * act_tuple)) = strtoll(pval, &scan_length, 10);
|
*((long long int *) (var + offset * act_tuple)) = strtoll(pval, &scan_length, 10);
|
||||||
if (garbage_left(isarray, &scan_length, compat))
|
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;
|
pval = scan_length;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
#endif /* HAVE_STRTOLL */
|
|
||||||
#ifdef HAVE_STRTOULL
|
|
||||||
case ECPGt_unsigned_long_long:
|
case ECPGt_unsigned_long_long:
|
||||||
*((unsigned long long int *) (var + offset * act_tuple)) = strtoull(pval, &scan_length, 10);
|
*((unsigned long long int *) (var + offset * act_tuple)) = strtoull(pval, &scan_length, 10);
|
||||||
if (garbage_left(isarray, &scan_length, compat))
|
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;
|
pval = scan_length;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
#endif /* HAVE_STRTOULL */
|
|
||||||
|
|
||||||
case ECPGt_float:
|
case ECPGt_float:
|
||||||
case ECPGt_double:
|
case ECPGt_double:
|
||||||
|
@ -46,11 +46,7 @@
|
|||||||
|
|
||||||
/* PG doesn't currently rely on <inttypes.h>, so work around strtoimax() */
|
/* PG doesn't currently rely on <inttypes.h>, so work around strtoimax() */
|
||||||
#undef strtoimax
|
#undef strtoimax
|
||||||
#ifdef HAVE_STRTOLL
|
|
||||||
#define strtoimax strtoll
|
#define strtoimax strtoll
|
||||||
#else
|
|
||||||
#define strtoimax strtol
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -246,8 +246,6 @@ sub GenerateFiles
|
|||||||
HAVE_DECL_STRLCAT => 0,
|
HAVE_DECL_STRLCAT => 0,
|
||||||
HAVE_DECL_STRLCPY => 0,
|
HAVE_DECL_STRLCPY => 0,
|
||||||
HAVE_DECL_STRNLEN => 1,
|
HAVE_DECL_STRNLEN => 1,
|
||||||
HAVE_DECL_STRTOLL => 1,
|
|
||||||
HAVE_DECL_STRTOULL => 1,
|
|
||||||
HAVE_EDITLINE_HISTORY_H => undef,
|
HAVE_EDITLINE_HISTORY_H => undef,
|
||||||
HAVE_EDITLINE_READLINE_H => undef,
|
HAVE_EDITLINE_READLINE_H => undef,
|
||||||
HAVE_EXECINFO_H => undef,
|
HAVE_EXECINFO_H => undef,
|
||||||
@ -354,10 +352,6 @@ sub GenerateFiles
|
|||||||
HAVE_STRNLEN => 1,
|
HAVE_STRNLEN => 1,
|
||||||
HAVE_STRSIGNAL => undef,
|
HAVE_STRSIGNAL => undef,
|
||||||
HAVE_STRTOF => 1,
|
HAVE_STRTOF => 1,
|
||||||
HAVE_STRTOLL => 1,
|
|
||||||
HAVE_STRTOQ => undef,
|
|
||||||
HAVE_STRTOULL => 1,
|
|
||||||
HAVE_STRTOUQ => undef,
|
|
||||||
HAVE_STRUCT_ADDRINFO => 1,
|
HAVE_STRUCT_ADDRINFO => 1,
|
||||||
HAVE_STRUCT_CMSGCRED => undef,
|
HAVE_STRUCT_CMSGCRED => undef,
|
||||||
HAVE_STRUCT_OPTION => undef,
|
HAVE_STRUCT_OPTION => undef,
|
||||||
@ -423,8 +417,6 @@ sub GenerateFiles
|
|||||||
HAVE__CPUID => 1,
|
HAVE__CPUID => 1,
|
||||||
HAVE__GET_CPUID => undef,
|
HAVE__GET_CPUID => undef,
|
||||||
HAVE__STATIC_ASSERT => undef,
|
HAVE__STATIC_ASSERT => undef,
|
||||||
HAVE___STRTOLL => undef,
|
|
||||||
HAVE___STRTOULL => undef,
|
|
||||||
INT64_MODIFIER => qq{"ll"},
|
INT64_MODIFIER => qq{"ll"},
|
||||||
LOCALE_T_IN_XLOCALE => undef,
|
LOCALE_T_IN_XLOCALE => undef,
|
||||||
MAXIMUM_ALIGNOF => 8,
|
MAXIMUM_ALIGNOF => 8,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user