mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	require standard int types to be defined (#17884)
This commit is contained in:
		
							parent
							
								
									39093e9e68
								
							
						
					
					
						commit
						4fe55106d1
					
				
					 9 changed files with 15 additions and 401 deletions
				
			
		|  | @ -42,10 +42,6 @@ extern "C" { | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| #if PYLONG_BITS_IN_DIGIT == 30 | #if PYLONG_BITS_IN_DIGIT == 30 | ||||||
| #if !(defined HAVE_UINT64_T && defined HAVE_UINT32_T &&          \ |  | ||||||
|       defined HAVE_INT64_T && defined HAVE_INT32_T) |  | ||||||
| #error "30-bit long digits requested, but the necessary types are not available on this platform" |  | ||||||
| #endif |  | ||||||
| typedef PY_UINT32_T digit; | typedef PY_UINT32_T digit; | ||||||
| typedef PY_INT32_T sdigit; /* signed variant of digit */ | typedef PY_INT32_T sdigit; /* signed variant of digit */ | ||||||
| typedef PY_UINT64_T twodigits; | typedef PY_UINT64_T twodigits; | ||||||
|  |  | ||||||
|  | @ -5,13 +5,8 @@ | ||||||
| 
 | 
 | ||||||
| /* Some versions of HP-UX & Solaris need inttypes.h for int32_t,
 | /* Some versions of HP-UX & Solaris need inttypes.h for int32_t,
 | ||||||
|    INT32_MAX, etc. */ |    INT32_MAX, etc. */ | ||||||
| #ifdef HAVE_INTTYPES_H |  | ||||||
| #include <inttypes.h> | #include <inttypes.h> | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef HAVE_STDINT_H |  | ||||||
| #include <stdint.h> | #include <stdint.h> | ||||||
| #endif |  | ||||||
| 
 | 
 | ||||||
| /**************************************************************************
 | /**************************************************************************
 | ||||||
| Symbols and macros to supply platform-independent interfaces to basic | Symbols and macros to supply platform-independent interfaces to basic | ||||||
|  | @ -74,64 +69,19 @@ Used in:  Py_uintptr_t | ||||||
| #endif /* LLONG_MAX */ | #endif /* LLONG_MAX */ | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| /* a build with 30-bit digits for Python integers needs an exact-width
 |  | ||||||
|  * 32-bit unsigned integer type to store those digits.  (We could just use |  | ||||||
|  * type 'unsigned long', but that would be wasteful on a system where longs |  | ||||||
|  * are 64-bits.)  On Unix systems, the autoconf macro AC_TYPE_UINT32_T defines |  | ||||||
|  * uint32_t to be such a type unless stdint.h or inttypes.h defines uint32_t. |  | ||||||
|  * However, it doesn't set HAVE_UINT32_T, so we do that here. |  | ||||||
|  */ |  | ||||||
| #ifdef uint32_t |  | ||||||
| #define HAVE_UINT32_T 1 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef HAVE_UINT32_T |  | ||||||
| #ifndef PY_UINT32_T |  | ||||||
| #define PY_UINT32_T uint32_t | #define PY_UINT32_T uint32_t | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /* Macros for a 64-bit unsigned integer type; used for type 'twodigits' in the
 |  | ||||||
|  * integer implementation, when 30-bit digits are enabled. |  | ||||||
|  */ |  | ||||||
| #ifdef uint64_t |  | ||||||
| #define HAVE_UINT64_T 1 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef HAVE_UINT64_T |  | ||||||
| #ifndef PY_UINT64_T |  | ||||||
| #define PY_UINT64_T uint64_t | #define PY_UINT64_T uint64_t | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 | 
 | ||||||
| /* Signed variants of the above */ | /* Signed variants of the above */ | ||||||
| #ifdef int32_t |  | ||||||
| #define HAVE_INT32_T 1 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef HAVE_INT32_T |  | ||||||
| #ifndef PY_INT32_T |  | ||||||
| #define PY_INT32_T int32_t | #define PY_INT32_T int32_t | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef int64_t |  | ||||||
| #define HAVE_INT64_T 1 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef HAVE_INT64_T |  | ||||||
| #ifndef PY_INT64_T |  | ||||||
| #define PY_INT64_T int64_t | #define PY_INT64_T int64_t | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 | 
 | ||||||
| /* If PYLONG_BITS_IN_DIGIT is not defined then we'll use 30-bit digits if all
 | /* If PYLONG_BITS_IN_DIGIT is not defined then we'll use 30-bit digits if all
 | ||||||
|    the necessary integer types are available, and we're on a 64-bit platform |    the necessary integer types are available, and we're on a 64-bit platform | ||||||
|    (as determined by SIZEOF_VOID_P); otherwise we use 15-bit digits. */ |    (as determined by SIZEOF_VOID_P); otherwise we use 15-bit digits. */ | ||||||
| 
 | 
 | ||||||
| #ifndef PYLONG_BITS_IN_DIGIT | #ifndef PYLONG_BITS_IN_DIGIT | ||||||
| #if (defined HAVE_UINT64_T && defined HAVE_INT64_T && \ | #if SIZEOF_VOID_P >= 8 | ||||||
|      defined HAVE_UINT32_T && defined HAVE_INT32_T && SIZEOF_VOID_P >= 8) |  | ||||||
| #define PYLONG_BITS_IN_DIGIT 30 | #define PYLONG_BITS_IN_DIGIT 30 | ||||||
| #else | #else | ||||||
| #define PYLONG_BITS_IN_DIGIT 15 | #define PYLONG_BITS_IN_DIGIT 15 | ||||||
|  |  | ||||||
|  | @ -10,6 +10,8 @@ What's New in Python 3.6.0 beta 1 | ||||||
| Core and Builtins | Core and Builtins | ||||||
| ----------------- | ----------------- | ||||||
| 
 | 
 | ||||||
|  | - Issue #17884: Python now requires systems with inttypes.h and stdint.h | ||||||
|  | 
 | ||||||
| - Issue #27961?: Require platforms to support ``long long``. Python hasn't | - Issue #27961?: Require platforms to support ``long long``. Python hasn't | ||||||
|   compiled without ``long long`` for years, so this is basically a formality. |   compiled without ``long long`` for years, so this is basically a formality. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -98,22 +98,14 @@ test_sizeof_c_types(PyObject *self) | ||||||
|     CHECK_SIGNNESS(Py_UCS1, 0); |     CHECK_SIGNNESS(Py_UCS1, 0); | ||||||
|     CHECK_SIGNNESS(Py_UCS2, 0); |     CHECK_SIGNNESS(Py_UCS2, 0); | ||||||
|     CHECK_SIGNNESS(Py_UCS4, 0); |     CHECK_SIGNNESS(Py_UCS4, 0); | ||||||
| #ifdef HAVE_INT32_T |  | ||||||
|     CHECK_SIZEOF(PY_INT32_T, 4); |     CHECK_SIZEOF(PY_INT32_T, 4); | ||||||
|     CHECK_SIGNNESS(PY_INT32_T, 1); |     CHECK_SIGNNESS(PY_INT32_T, 1); | ||||||
| #endif |  | ||||||
| #ifdef HAVE_UINT32_T |  | ||||||
|     CHECK_SIZEOF(PY_UINT32_T, 4); |     CHECK_SIZEOF(PY_UINT32_T, 4); | ||||||
|     CHECK_SIGNNESS(PY_UINT32_T, 0); |     CHECK_SIGNNESS(PY_UINT32_T, 0); | ||||||
| #endif |  | ||||||
| #ifdef HAVE_INT64_T |  | ||||||
|     CHECK_SIZEOF(PY_INT64_T, 8); |     CHECK_SIZEOF(PY_INT64_T, 8); | ||||||
|     CHECK_SIGNNESS(PY_INT64_T, 1); |     CHECK_SIGNNESS(PY_INT64_T, 1); | ||||||
| #endif |  | ||||||
| #ifdef HAVE_UINT64_T |  | ||||||
|     CHECK_SIZEOF(PY_UINT64_T, 8); |     CHECK_SIZEOF(PY_UINT64_T, 8); | ||||||
|     CHECK_SIGNNESS(PY_UINT64_T, 0); |     CHECK_SIGNNESS(PY_UINT64_T, 0); | ||||||
| #endif |  | ||||||
| 
 | 
 | ||||||
|     /* pointer/size types */ |     /* pointer/size types */ | ||||||
|     CHECK_SIZEOF(size_t, sizeof(void *)); |     CHECK_SIZEOF(size_t, sizeof(void *)); | ||||||
|  |  | ||||||
|  | @ -365,39 +365,10 @@ Py_NO_ENABLE_SHARED to find out.  Also support MS_NO_COREDLL for b/w compat */ | ||||||
| 
 | 
 | ||||||
| /* define signed and unsigned exact-width 32-bit and 64-bit types, used in the
 | /* define signed and unsigned exact-width 32-bit and 64-bit types, used in the
 | ||||||
|    implementation of Python integers. */ |    implementation of Python integers. */ | ||||||
| #ifndef PY_UINT32_T | #define PY_UINT32_T uint32_t | ||||||
| #if SIZEOF_INT == 4 | #define PY_UINT64_T uint64_t | ||||||
| #define HAVE_UINT32_T 1 | #define PY_INT32_T int32_t | ||||||
| #define PY_UINT32_T unsigned int | #define PY_INT64_T int64_t | ||||||
| #elif SIZEOF_LONG == 4 |  | ||||||
| #define HAVE_UINT32_T 1 |  | ||||||
| #define PY_UINT32_T unsigned long |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef PY_UINT64_T |  | ||||||
| #if SIZEOF_LONG_LONG == 8 |  | ||||||
| #define HAVE_UINT64_T 1 |  | ||||||
| #define PY_UINT64_T unsigned long long |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef PY_INT32_T |  | ||||||
| #if SIZEOF_INT == 4 |  | ||||||
| #define HAVE_INT32_T 1 |  | ||||||
| #define PY_INT32_T int |  | ||||||
| #elif SIZEOF_LONG == 4 |  | ||||||
| #define HAVE_INT32_T 1 |  | ||||||
| #define PY_INT32_T long |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifndef PY_INT64_T |  | ||||||
| #if SIZEOF_LONG_LONG == 8 |  | ||||||
| #define HAVE_INT64_T 1 |  | ||||||
| #define PY_INT64_T long long |  | ||||||
| #endif |  | ||||||
| #endif |  | ||||||
| 
 | 
 | ||||||
| /* Fairly standard from here! */ | /* Fairly standard from here! */ | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -151,18 +151,9 @@ | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| #if defined(HAVE_UINT32_T) && defined(HAVE_INT32_T) | typedef uint32_t ULong; | ||||||
| typedef PY_UINT32_T ULong; | typedef int32_t Long; | ||||||
| typedef PY_INT32_T Long; | typedef uint64_t ULLong; | ||||||
| #else |  | ||||||
| #error "Failed to find an exact-width 32-bit integer type" |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if defined(HAVE_UINT64_T) |  | ||||||
| #define ULLong PY_UINT64_T |  | ||||||
| #else |  | ||||||
| #undef ULLong |  | ||||||
| #endif |  | ||||||
| 
 | 
 | ||||||
| #undef DEBUG | #undef DEBUG | ||||||
| #ifdef Py_DEBUG | #ifdef Py_DEBUG | ||||||
|  |  | ||||||
							
								
								
									
										227
									
								
								configure
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										227
									
								
								configure
									
										
									
									
										vendored
									
									
								
							|  | @ -1974,136 +1974,6 @@ $as_echo "$ac_res" >&6; } | ||||||
| 
 | 
 | ||||||
| } # ac_fn_c_check_type | } # ac_fn_c_check_type | ||||||
| 
 | 
 | ||||||
| # ac_fn_c_find_uintX_t LINENO BITS VAR |  | ||||||
| # ------------------------------------ |  | ||||||
| # Finds an unsigned integer type with width BITS, setting cache variable VAR |  | ||||||
| # accordingly. |  | ||||||
| ac_fn_c_find_uintX_t () |  | ||||||
| { |  | ||||||
|   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |  | ||||||
|   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5 |  | ||||||
| $as_echo_n "checking for uint$2_t... " >&6; } |  | ||||||
| if eval \${$3+:} false; then : |  | ||||||
|   $as_echo_n "(cached) " >&6 |  | ||||||
| else |  | ||||||
|   eval "$3=no" |  | ||||||
|      # Order is important - never check a type that is potentially smaller |  | ||||||
|      # than half of the expected target width. |  | ||||||
|      for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \ |  | ||||||
| 	 'unsigned long long int' 'unsigned short int' 'unsigned char'; do |  | ||||||
|        cat confdefs.h - <<_ACEOF >conftest.$ac_ext |  | ||||||
| /* end confdefs.h.  */ |  | ||||||
| $ac_includes_default |  | ||||||
| int |  | ||||||
| main () |  | ||||||
| { |  | ||||||
| static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)]; |  | ||||||
| test_array [0] = 0; |  | ||||||
| return test_array [0]; |  | ||||||
| 
 |  | ||||||
|   ; |  | ||||||
|   return 0; |  | ||||||
| } |  | ||||||
| _ACEOF |  | ||||||
| if ac_fn_c_try_compile "$LINENO"; then : |  | ||||||
|   case $ac_type in #( |  | ||||||
|   uint$2_t) : |  | ||||||
|     eval "$3=yes" ;; #( |  | ||||||
|   *) : |  | ||||||
|     eval "$3=\$ac_type" ;; |  | ||||||
| esac |  | ||||||
| fi |  | ||||||
| rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |  | ||||||
|        if eval test \"x\$"$3"\" = x"no"; then : |  | ||||||
| 
 |  | ||||||
| else |  | ||||||
|   break |  | ||||||
| fi |  | ||||||
|      done |  | ||||||
| fi |  | ||||||
| eval ac_res=\$$3 |  | ||||||
| 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |  | ||||||
| $as_echo "$ac_res" >&6; } |  | ||||||
|   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |  | ||||||
| 
 |  | ||||||
| } # ac_fn_c_find_uintX_t |  | ||||||
| 
 |  | ||||||
| # ac_fn_c_find_intX_t LINENO BITS VAR |  | ||||||
| # ----------------------------------- |  | ||||||
| # Finds a signed integer type with width BITS, setting cache variable VAR |  | ||||||
| # accordingly. |  | ||||||
| ac_fn_c_find_intX_t () |  | ||||||
| { |  | ||||||
|   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |  | ||||||
|   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int$2_t" >&5 |  | ||||||
| $as_echo_n "checking for int$2_t... " >&6; } |  | ||||||
| if eval \${$3+:} false; then : |  | ||||||
|   $as_echo_n "(cached) " >&6 |  | ||||||
| else |  | ||||||
|   eval "$3=no" |  | ||||||
|      # Order is important - never check a type that is potentially smaller |  | ||||||
|      # than half of the expected target width. |  | ||||||
|      for ac_type in int$2_t 'int' 'long int' \ |  | ||||||
| 	 'long long int' 'short int' 'signed char'; do |  | ||||||
|        cat confdefs.h - <<_ACEOF >conftest.$ac_ext |  | ||||||
| /* end confdefs.h.  */ |  | ||||||
| $ac_includes_default |  | ||||||
| 	     enum { N = $2 / 2 - 1 }; |  | ||||||
| int |  | ||||||
| main () |  | ||||||
| { |  | ||||||
| static int test_array [1 - 2 * !(0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))]; |  | ||||||
| test_array [0] = 0; |  | ||||||
| return test_array [0]; |  | ||||||
| 
 |  | ||||||
|   ; |  | ||||||
|   return 0; |  | ||||||
| } |  | ||||||
| _ACEOF |  | ||||||
| if ac_fn_c_try_compile "$LINENO"; then : |  | ||||||
|   cat confdefs.h - <<_ACEOF >conftest.$ac_ext |  | ||||||
| /* end confdefs.h.  */ |  | ||||||
| $ac_includes_default |  | ||||||
| 	        enum { N = $2 / 2 - 1 }; |  | ||||||
| int |  | ||||||
| main () |  | ||||||
| { |  | ||||||
| static int test_array [1 - 2 * !(($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1) |  | ||||||
| 		 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 2))]; |  | ||||||
| test_array [0] = 0; |  | ||||||
| return test_array [0]; |  | ||||||
| 
 |  | ||||||
|   ; |  | ||||||
|   return 0; |  | ||||||
| } |  | ||||||
| _ACEOF |  | ||||||
| if ac_fn_c_try_compile "$LINENO"; then : |  | ||||||
| 
 |  | ||||||
| else |  | ||||||
|   case $ac_type in #( |  | ||||||
|   int$2_t) : |  | ||||||
|     eval "$3=yes" ;; #( |  | ||||||
|   *) : |  | ||||||
|     eval "$3=\$ac_type" ;; |  | ||||||
| esac |  | ||||||
| fi |  | ||||||
| rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |  | ||||||
| fi |  | ||||||
| rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |  | ||||||
|        if eval test \"x\$"$3"\" = x"no"; then : |  | ||||||
| 
 |  | ||||||
| else |  | ||||||
|   break |  | ||||||
| fi |  | ||||||
|      done |  | ||||||
| fi |  | ||||||
| eval ac_res=\$$3 |  | ||||||
| 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 |  | ||||||
| $as_echo "$ac_res" >&6; } |  | ||||||
|   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno |  | ||||||
| 
 |  | ||||||
| } # ac_fn_c_find_intX_t |  | ||||||
| 
 |  | ||||||
| # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES | # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES | ||||||
| # -------------------------------------------- | # -------------------------------------------- | ||||||
| # Tries to find the compile-time value of EXPR in a program that includes | # Tries to find the compile-time value of EXPR in a program that includes | ||||||
|  | @ -7582,7 +7452,7 @@ fi | ||||||
| for ac_header in asm/types.h conio.h direct.h dlfcn.h errno.h \ | for ac_header in asm/types.h conio.h direct.h dlfcn.h errno.h \ | ||||||
| fcntl.h grp.h \ | fcntl.h grp.h \ | ||||||
| ieeefp.h io.h langinfo.h libintl.h process.h pthread.h \ | ieeefp.h io.h langinfo.h libintl.h process.h pthread.h \ | ||||||
| sched.h shadow.h signal.h stdint.h stropts.h termios.h \ | sched.h shadow.h signal.h stropts.h termios.h \ | ||||||
| unistd.h utime.h \ | unistd.h utime.h \ | ||||||
| poll.h sys/devpoll.h sys/epoll.h sys/poll.h \ | poll.h sys/devpoll.h sys/epoll.h sys/poll.h \ | ||||||
| sys/audioio.h sys/xattr.h sys/bsdtty.h sys/event.h sys/file.h sys/ioctl.h \ | sys/audioio.h sys/xattr.h sys/bsdtty.h sys/event.h sys/file.h sys/ioctl.h \ | ||||||
|  | @ -8130,95 +8000,6 @@ $as_echo "#define gid_t int" >>confdefs.h | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # There are two separate checks for each of the exact-width integer types we |  | ||||||
| # need.  First we check whether the type is available using the usual |  | ||||||
| # AC_CHECK_TYPE macro with the default includes (which includes <inttypes.h> |  | ||||||
| # and <stdint.h> where available).  We then also use the special type checks of |  | ||||||
| # the form AC_TYPE_UINT32_T, which in the case that uint32_t is not available |  | ||||||
| # directly, #define's uint32_t to be a suitable type. |  | ||||||
| 
 |  | ||||||
| ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default" |  | ||||||
| if test "x$ac_cv_type_uint32_t" = xyes; then : |  | ||||||
| 
 |  | ||||||
| $as_echo "#define HAVE_UINT32_T 1" >>confdefs.h |  | ||||||
| 
 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t" |  | ||||||
| case $ac_cv_c_uint32_t in #( |  | ||||||
|   no|yes) ;; #( |  | ||||||
|   *) |  | ||||||
| 
 |  | ||||||
| $as_echo "#define _UINT32_T 1" >>confdefs.h |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| cat >>confdefs.h <<_ACEOF |  | ||||||
| #define uint32_t $ac_cv_c_uint32_t |  | ||||||
| _ACEOF |  | ||||||
| ;; |  | ||||||
|   esac |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default" |  | ||||||
| if test "x$ac_cv_type_uint64_t" = xyes; then : |  | ||||||
| 
 |  | ||||||
| $as_echo "#define HAVE_UINT64_T 1" >>confdefs.h |  | ||||||
| 
 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| ac_fn_c_find_uintX_t "$LINENO" "64" "ac_cv_c_uint64_t" |  | ||||||
| case $ac_cv_c_uint64_t in #( |  | ||||||
|   no|yes) ;; #( |  | ||||||
|   *) |  | ||||||
| 
 |  | ||||||
| $as_echo "#define _UINT64_T 1" >>confdefs.h |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| cat >>confdefs.h <<_ACEOF |  | ||||||
| #define uint64_t $ac_cv_c_uint64_t |  | ||||||
| _ACEOF |  | ||||||
| ;; |  | ||||||
|   esac |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ac_fn_c_check_type "$LINENO" "int32_t" "ac_cv_type_int32_t" "$ac_includes_default" |  | ||||||
| if test "x$ac_cv_type_int32_t" = xyes; then : |  | ||||||
| 
 |  | ||||||
| $as_echo "#define HAVE_INT32_T 1" >>confdefs.h |  | ||||||
| 
 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| ac_fn_c_find_intX_t "$LINENO" "32" "ac_cv_c_int32_t" |  | ||||||
| case $ac_cv_c_int32_t in #( |  | ||||||
|   no|yes) ;; #( |  | ||||||
|   *) |  | ||||||
| 
 |  | ||||||
| cat >>confdefs.h <<_ACEOF |  | ||||||
| #define int32_t $ac_cv_c_int32_t |  | ||||||
| _ACEOF |  | ||||||
| ;; |  | ||||||
| esac |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ac_fn_c_check_type "$LINENO" "int64_t" "ac_cv_type_int64_t" "$ac_includes_default" |  | ||||||
| if test "x$ac_cv_type_int64_t" = xyes; then : |  | ||||||
| 
 |  | ||||||
| $as_echo "#define HAVE_INT64_T 1" >>confdefs.h |  | ||||||
| 
 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| ac_fn_c_find_intX_t "$LINENO" "64" "ac_cv_c_int64_t" |  | ||||||
| case $ac_cv_c_int64_t in #( |  | ||||||
|   no|yes) ;; #( |  | ||||||
|   *) |  | ||||||
| 
 |  | ||||||
| cat >>confdefs.h <<_ACEOF |  | ||||||
| #define int64_t $ac_cv_c_int64_t |  | ||||||
| _ACEOF |  | ||||||
| ;; |  | ||||||
| esac |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" | ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" | ||||||
| if test "x$ac_cv_type_ssize_t" = xyes; then : | if test "x$ac_cv_type_ssize_t" = xyes; then : | ||||||
| 
 | 
 | ||||||
|  | @ -8690,12 +8471,8 @@ _ACEOF | ||||||
| 
 | 
 | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#ifdef HAVE_STDINT_H | ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <stdint.h> | ||||||
|         #include <stdint.h> |  | ||||||
|         #endif |  | ||||||
|         #ifdef HAVE_INTTYPES_H |  | ||||||
|         #include <inttypes.h> |         #include <inttypes.h> | ||||||
|         #endif |  | ||||||
| " | " | ||||||
| if test "x$ac_cv_type_uintptr_t" = xyes; then : | if test "x$ac_cv_type_uintptr_t" = xyes; then : | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										33
									
								
								configure.ac
									
										
									
									
									
								
							
							
						
						
									
										33
									
								
								configure.ac
									
										
									
									
									
								
							|  | @ -1918,7 +1918,7 @@ AC_HEADER_STDC | ||||||
| AC_CHECK_HEADERS(asm/types.h conio.h direct.h dlfcn.h errno.h \ | AC_CHECK_HEADERS(asm/types.h conio.h direct.h dlfcn.h errno.h \ | ||||||
| fcntl.h grp.h \ | fcntl.h grp.h \ | ||||||
| ieeefp.h io.h langinfo.h libintl.h process.h pthread.h \ | ieeefp.h io.h langinfo.h libintl.h process.h pthread.h \ | ||||||
| sched.h shadow.h signal.h stdint.h stropts.h termios.h \ | sched.h shadow.h signal.h stropts.h termios.h \ | ||||||
| unistd.h utime.h \ | unistd.h utime.h \ | ||||||
| poll.h sys/devpoll.h sys/epoll.h sys/poll.h \ | poll.h sys/devpoll.h sys/epoll.h sys/poll.h \ | ||||||
| sys/audioio.h sys/xattr.h sys/bsdtty.h sys/event.h sys/file.h sys/ioctl.h \ | sys/audioio.h sys/xattr.h sys/bsdtty.h sys/event.h sys/file.h sys/ioctl.h \ | ||||||
|  | @ -2060,29 +2060,6 @@ AC_DEFINE_UNQUOTED([RETSIGTYPE],[void],[assume C89 semantics that RETSIGTYPE is | ||||||
| AC_TYPE_SIZE_T | AC_TYPE_SIZE_T | ||||||
| AC_TYPE_UID_T | AC_TYPE_UID_T | ||||||
| 
 | 
 | ||||||
| # There are two separate checks for each of the exact-width integer types we |  | ||||||
| # need.  First we check whether the type is available using the usual |  | ||||||
| # AC_CHECK_TYPE macro with the default includes (which includes <inttypes.h> |  | ||||||
| # and <stdint.h> where available).  We then also use the special type checks of |  | ||||||
| # the form AC_TYPE_UINT32_T, which in the case that uint32_t is not available |  | ||||||
| # directly, #define's uint32_t to be a suitable type. |  | ||||||
| 
 |  | ||||||
| AC_CHECK_TYPE(uint32_t, |  | ||||||
|   AC_DEFINE(HAVE_UINT32_T, 1, [Define if your compiler provides uint32_t.]),,) |  | ||||||
| AC_TYPE_UINT32_T |  | ||||||
| 
 |  | ||||||
| AC_CHECK_TYPE(uint64_t, |  | ||||||
|   AC_DEFINE(HAVE_UINT64_T, 1, [Define if your compiler provides uint64_t.]),,) |  | ||||||
| AC_TYPE_UINT64_T |  | ||||||
| 
 |  | ||||||
| AC_CHECK_TYPE(int32_t, |  | ||||||
|   AC_DEFINE(HAVE_INT32_T, 1, [Define if your compiler provides int32_t.]),,) |  | ||||||
| AC_TYPE_INT32_T |  | ||||||
| 
 |  | ||||||
| AC_CHECK_TYPE(int64_t, |  | ||||||
|   AC_DEFINE(HAVE_INT64_T, 1, [Define if your compiler provides int64_t.]),,) |  | ||||||
| AC_TYPE_INT64_T |  | ||||||
| 
 |  | ||||||
| AC_CHECK_TYPE(ssize_t, | AC_CHECK_TYPE(ssize_t, | ||||||
|   AC_DEFINE(HAVE_SSIZE_T, 1, [Define if your compiler provides ssize_t]),,) |   AC_DEFINE(HAVE_SSIZE_T, 1, [Define if your compiler provides ssize_t]),,) | ||||||
| AC_CHECK_TYPE(__uint128_t, | AC_CHECK_TYPE(__uint128_t, | ||||||
|  | @ -2126,12 +2103,8 @@ fi | ||||||
| 
 | 
 | ||||||
| AC_CHECK_TYPES(uintptr_t, | AC_CHECK_TYPES(uintptr_t, | ||||||
|    [AC_CHECK_SIZEOF(uintptr_t, 4)], |    [AC_CHECK_SIZEOF(uintptr_t, 4)], | ||||||
|    [], [#ifdef HAVE_STDINT_H |    [], [#include <stdint.h> | ||||||
|         #include <stdint.h> |         #include <inttypes.h>]) | ||||||
|         #endif |  | ||||||
|         #ifdef HAVE_INTTYPES_H |  | ||||||
|         #include <inttypes.h> |  | ||||||
|         #endif]) |  | ||||||
| 
 | 
 | ||||||
| AC_CHECK_SIZEOF(off_t, [], [ | AC_CHECK_SIZEOF(off_t, [], [ | ||||||
| #ifdef HAVE_SYS_TYPES_H | #ifdef HAVE_SYS_TYPES_H | ||||||
|  |  | ||||||
|  | @ -484,12 +484,6 @@ | ||||||
| /* Define to 1 if you have the `initgroups' function. */ | /* Define to 1 if you have the `initgroups' function. */ | ||||||
| #undef HAVE_INITGROUPS | #undef HAVE_INITGROUPS | ||||||
| 
 | 
 | ||||||
| /* Define if your compiler provides int32_t. */ |  | ||||||
| #undef HAVE_INT32_T |  | ||||||
| 
 |  | ||||||
| /* Define if your compiler provides int64_t. */ |  | ||||||
| #undef HAVE_INT64_T |  | ||||||
| 
 |  | ||||||
| /* Define to 1 if you have the <inttypes.h> header file. */ | /* Define to 1 if you have the <inttypes.h> header file. */ | ||||||
| #undef HAVE_INTTYPES_H | #undef HAVE_INTTYPES_H | ||||||
| 
 | 
 | ||||||
|  | @ -1140,12 +1134,6 @@ | ||||||
| /* Define this if you have tcl and TCL_UTF_MAX==6 */ | /* Define this if you have tcl and TCL_UTF_MAX==6 */ | ||||||
| #undef HAVE_UCS4_TCL | #undef HAVE_UCS4_TCL | ||||||
| 
 | 
 | ||||||
| /* Define if your compiler provides uint32_t. */ |  | ||||||
| #undef HAVE_UINT32_T |  | ||||||
| 
 |  | ||||||
| /* Define if your compiler provides uint64_t. */ |  | ||||||
| #undef HAVE_UINT64_T |  | ||||||
| 
 |  | ||||||
| /* Define to 1 if the system has the type `uintptr_t'. */ | /* Define to 1 if the system has the type `uintptr_t'. */ | ||||||
| #undef HAVE_UINTPTR_T | #undef HAVE_UINTPTR_T | ||||||
| 
 | 
 | ||||||
|  | @ -1479,16 +1467,6 @@ | ||||||
| /* Define to force use of thread-safe errno, h_errno, and other functions */ | /* Define to force use of thread-safe errno, h_errno, and other functions */ | ||||||
| #undef _REENTRANT | #undef _REENTRANT | ||||||
| 
 | 
 | ||||||
| /* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
 |  | ||||||
|    <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the |  | ||||||
|    #define below would cause a syntax error. */ |  | ||||||
| #undef _UINT32_T |  | ||||||
| 
 |  | ||||||
| /* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
 |  | ||||||
|    <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the |  | ||||||
|    #define below would cause a syntax error. */ |  | ||||||
| #undef _UINT64_T |  | ||||||
| 
 |  | ||||||
| /* Define to the level of X/Open that your system supports */ | /* Define to the level of X/Open that your system supports */ | ||||||
| #undef _XOPEN_SOURCE | #undef _XOPEN_SOURCE | ||||||
| 
 | 
 | ||||||
|  | @ -1518,14 +1496,6 @@ | ||||||
| #undef inline | #undef inline | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| /* Define to the type of a signed integer type of width exactly 32 bits if
 |  | ||||||
|    such a type exists and the standard includes do not define it. */ |  | ||||||
| #undef int32_t |  | ||||||
| 
 |  | ||||||
| /* Define to the type of a signed integer type of width exactly 64 bits if
 |  | ||||||
|    such a type exists and the standard includes do not define it. */ |  | ||||||
| #undef int64_t |  | ||||||
| 
 |  | ||||||
| /* Define to `int' if <sys/types.h> does not define. */ | /* Define to `int' if <sys/types.h> does not define. */ | ||||||
| #undef mode_t | #undef mode_t | ||||||
| 
 | 
 | ||||||
|  | @ -1547,14 +1517,6 @@ | ||||||
| /* Define to `int' if <sys/types.h> doesn't define. */ | /* Define to `int' if <sys/types.h> doesn't define. */ | ||||||
| #undef uid_t | #undef uid_t | ||||||
| 
 | 
 | ||||||
| /* Define to the type of an unsigned integer type of width exactly 32 bits if
 |  | ||||||
|    such a type exists and the standard includes do not define it. */ |  | ||||||
| #undef uint32_t |  | ||||||
| 
 |  | ||||||
| /* Define to the type of an unsigned integer type of width exactly 64 bits if
 |  | ||||||
|    such a type exists and the standard includes do not define it. */ |  | ||||||
| #undef uint64_t |  | ||||||
| 
 |  | ||||||
| /* Define to empty if the keyword does not work. */ | /* Define to empty if the keyword does not work. */ | ||||||
| #undef volatile | #undef volatile | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Benjamin Peterson
						Benjamin Peterson