1 # This has been taken from postgres-9.1+ local macros
2 # ( REL9_1_BETA2-1484-g293ec33 )
4 # PGAC_TYPE_64BIT_INT(TYPE)
5 # -------------------------
6 # Check if TYPE is a working 64 bit integer type. Set HAVE_TYPE_64 to
7 # yes or no respectively, and define HAVE_TYPE_64 if yes.
8 AC_DEFUN([PGAC_TYPE_64BIT_INT],
9 [define([Ac_define], [translit([have_$1_64], [a-z *], [A-Z_P])])dnl
10 define([Ac_cachevar], [translit([pgac_cv_type_$1_64], [ *], [_p])])dnl
11 AC_CACHE_CHECK([whether $1 is 64 bits], [Ac_cachevar],
16 * These are globals to discourage the compiler from folding all the
17 * arithmetic tests down to compile-time constants.
19 ac_int64 a = 20000001;
20 ac_int64 b = 40000005;
26 if (sizeof(ac_int64) != 8)
27 return 0; /* definitely not the right size */
29 /* Do perfunctory checks to see if 64-bit arithmetic seems to work */
37 exit(! does_int64_work());
41 [# If cross-compiling, check the size reported by the compiler and
42 # trust that the arithmetic works.
43 AC_COMPILE_IFELSE([AC_LANG_BOOL_COMPILE_TRY([], [sizeof($1) == 8])],
47 Ac_define=$Ac_cachevar
48 if test x"$Ac_cachevar" = xyes ; then
49 AC_DEFINE(Ac_define, 1, [Define to 1 if `]$1[' works and is 64 bits.])
51 undefine([Ac_define])dnl
52 undefine([Ac_cachevar])dnl
53 ])# PGAC_TYPE_64BIT_INT