diff options
author | Benjamin Peterson <benjamin@python.org> | 2016-09-06 18:58:01 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2016-09-06 18:58:01 (GMT) |
commit | 4fe55106d1bd99015b18118bf1067a1189e070ea (patch) | |
tree | f45f9460a346d3f25713d5fc6ccc0fd825521f56 /Include | |
parent | 39093e9e6836b98dc67979e4e888e4bc639caa07 (diff) | |
download | cpython-4fe55106d1bd99015b18118bf1067a1189e070ea.zip cpython-4fe55106d1bd99015b18118bf1067a1189e070ea.tar.gz cpython-4fe55106d1bd99015b18118bf1067a1189e070ea.tar.bz2 |
require standard int types to be defined (#17884)
Diffstat (limited to 'Include')
-rw-r--r-- | Include/longintrepr.h | 4 | ||||
-rw-r--r-- | Include/pyport.h | 52 |
2 files changed, 1 insertions, 55 deletions
diff --git a/Include/longintrepr.h b/Include/longintrepr.h index bbba4d8..1296849 100644 --- a/Include/longintrepr.h +++ b/Include/longintrepr.h @@ -42,10 +42,6 @@ extern "C" { */ #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_INT32_T sdigit; /* signed variant of digit */ typedef PY_UINT64_T twodigits; diff --git a/Include/pyport.h b/Include/pyport.h index 3d5233e..d995f3f 100644 --- a/Include/pyport.h +++ b/Include/pyport.h @@ -5,13 +5,8 @@ /* Some versions of HP-UX & Solaris need inttypes.h for int32_t, INT32_MAX, etc. */ -#ifdef HAVE_INTTYPES_H #include <inttypes.h> -#endif - -#ifdef HAVE_STDINT_H #include <stdint.h> -#endif /************************************************************************** Symbols and macros to supply platform-independent interfaces to basic @@ -74,64 +69,19 @@ Used in: Py_uintptr_t #endif /* LLONG_MAX */ #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 -#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 -#endif -#endif /* 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 -#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 -#endif -#endif /* 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 (as determined by SIZEOF_VOID_P); otherwise we use 15-bit digits. */ #ifndef PYLONG_BITS_IN_DIGIT -#if (defined HAVE_UINT64_T && defined HAVE_INT64_T && \ - defined HAVE_UINT32_T && defined HAVE_INT32_T && SIZEOF_VOID_P >= 8) +#if SIZEOF_VOID_P >= 8 #define PYLONG_BITS_IN_DIGIT 30 #else #define PYLONG_BITS_IN_DIGIT 15 |