summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Doc/c-api/arg.rst23
-rw-r--r--Doc/c-api/long.rst18
-rw-r--r--Doc/c-api/unicode.rst1
-rw-r--r--Include/pyport.h30
-rw-r--r--Lib/test/test_getargs2.py5
-rw-r--r--Modules/_blake2/blake2b_impl.c4
-rw-r--r--Modules/_blake2/blake2s_impl.c4
-rw-r--r--Modules/_ctypes/_ctypes_test.c40
-rw-r--r--Modules/_ctypes/callproc.c2
-rw-r--r--Modules/_ctypes/cfield.c48
-rw-r--r--Modules/_ctypes/ctypes.h2
-rw-r--r--Modules/_io/_iomodule.h14
-rw-r--r--Modules/_io/textio.c4
-rw-r--r--Modules/_sqlite/util.c2
-rw-r--r--Objects/unicodeobject.c4
-rw-r--r--aclocal.m44
-rwxr-xr-xconfigure93
-rw-r--r--configure.ac61
-rw-r--r--pyconfig.h.in3
19 files changed, 81 insertions, 281 deletions
diff --git a/Doc/c-api/arg.rst b/Doc/c-api/arg.rst
index f9329975af..569903f000 100644
--- a/Doc/c-api/arg.rst
+++ b/Doc/c-api/arg.rst
@@ -265,15 +265,12 @@ Numbers
Convert a Python integer to a C :c:type:`unsigned long` without
overflow checking.
-``L`` (:class:`int`) [PY_LONG_LONG]
- Convert a Python integer to a C :c:type:`long long`. This format is only
- available on platforms that support :c:type:`long long` (or :c:type:`_int64` on
- Windows).
+``L`` (:class:`int`) [long long]
+ Convert a Python integer to a C :c:type:`long long`.
-``K`` (:class:`int`) [unsigned PY_LONG_LONG]
+``K`` (:class:`int`) [unsigned long long]
Convert a Python integer to a C :c:type:`unsigned long long`
- without overflow checking. This format is only available on platforms that
- support :c:type:`unsigned long long` (or :c:type:`unsigned _int64` on Windows).
+ without overflow checking.
``n`` (:class:`int`) [Py_ssize_t]
Convert a Python integer to a C :c:type:`Py_ssize_t`.
@@ -594,15 +591,11 @@ Building values
``k`` (:class:`int`) [unsigned long]
Convert a C :c:type:`unsigned long` to a Python integer object.
- ``L`` (:class:`int`) [PY_LONG_LONG]
- Convert a C :c:type:`long long` to a Python integer object. Only available
- on platforms that support :c:type:`long long` (or :c:type:`_int64` on
- Windows).
+ ``L`` (:class:`int`) [long long]
+ Convert a C :c:type:`long long` to a Python integer object.
- ``K`` (:class:`int`) [unsigned PY_LONG_LONG]
- Convert a C :c:type:`unsigned long long` to a Python integer object. Only
- available on platforms that support :c:type:`unsigned long long` (or
- :c:type:`unsigned _int64` on Windows).
+ ``K`` (:class:`int`) [unsigned long long]
+ Convert a C :c:type:`unsigned long long` to a Python integer object.
``n`` (:class:`int`) [Py_ssize_t]
Convert a C :c:type:`Py_ssize_t` to a Python integer.
diff --git a/Doc/c-api/long.rst b/Doc/c-api/long.rst
index b3480159c0..bae9703590 100644
--- a/Doc/c-api/long.rst
+++ b/Doc/c-api/long.rst
@@ -62,13 +62,13 @@ All integers are implemented as "long" integer objects of arbitrary size.
*NULL* on failure.
-.. c:function:: PyObject* PyLong_FromLongLong(PY_LONG_LONG v)
+.. c:function:: PyObject* PyLong_FromLongLong(long long v)
Return a new :c:type:`PyLongObject` object from a C :c:type:`long long`, or *NULL*
on failure.
-.. c:function:: PyObject* PyLong_FromUnsignedLongLong(unsigned PY_LONG_LONG v)
+.. c:function:: PyObject* PyLong_FromUnsignedLongLong(unsigned long long v)
Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long long`,
or *NULL* on failure.
@@ -148,7 +148,7 @@ All integers are implemented as "long" integer objects of arbitrary size.
occurs set *\*overflow* to ``0`` and return ``-1`` as usual.
-.. c:function:: PY_LONG_LONG PyLong_AsLongLong(PyObject *obj)
+.. c:function:: long long PyLong_AsLongLong(PyObject *obj)
.. index::
single: OverflowError (built-in exception)
@@ -161,7 +161,7 @@ All integers are implemented as "long" integer objects of arbitrary size.
:c:type:`long`.
-.. c:function:: PY_LONG_LONG PyLong_AsLongLongAndOverflow(PyObject *obj, int *overflow)
+.. c:function:: long long PyLong_AsLongLongAndOverflow(PyObject *obj, int *overflow)
Return a C :c:type:`long long` representation of *obj*. If *obj* is not an
instance of :c:type:`PyLongObject`, first call its :meth:`__int__` method
@@ -210,16 +210,16 @@ All integers are implemented as "long" integer objects of arbitrary size.
:c:type:`size_t`.
-.. c:function:: unsigned PY_LONG_LONG PyLong_AsUnsignedLongLong(PyObject *pylong)
+.. c:function:: unsigned long long PyLong_AsUnsignedLongLong(PyObject *pylong)
.. index::
single: OverflowError (built-in exception)
- Return a C :c:type:`unsigned PY_LONG_LONG` representation of *pylong*.
- *pylong* must be an instance of :c:type:`PyLongObject`.
+ Return a C :c:type:`unsigned long long` representation of *pylong*. *pylong*
+ must be an instance of :c:type:`PyLongObject`.
Raise :exc:`OverflowError` if the value of *pylong* is out of range for an
- :c:type:`unsigned PY_LONG_LONG`.
+ :c:type:`unsigned long long`.
.. versionchanged:: 3.1
A negative *pylong* now raises :exc:`OverflowError`, not :exc:`TypeError`.
@@ -235,7 +235,7 @@ All integers are implemented as "long" integer objects of arbitrary size.
return the reduction of that value modulo :const:`ULONG_MAX + 1`.
-.. c:function:: unsigned PY_LONG_LONG PyLong_AsUnsignedLongLongMask(PyObject *obj)
+.. c:function:: unsigned long long PyLong_AsUnsignedLongLongMask(PyObject *obj)
Return a C :c:type:`unsigned long long` representation of *obj*. If *obj*
is not an instance of :c:type:`PyLongObject`, first call its :meth:`__int__`
diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst
index 55ef5750f5..44e92593c1 100644
--- a/Doc/c-api/unicode.rst
+++ b/Doc/c-api/unicode.rst
@@ -440,7 +440,6 @@ APIs:
.. % because not all compilers support the %z width modifier -- we fake it
.. % when necessary via interpolating PY_FORMAT_SIZE_T.
.. % Similar comments apply to the %ll width modifier and
- .. % PY_FORMAT_LONG_LONG.
.. tabularcolumns:: |l|l|L|
diff --git a/Include/pyport.h b/Include/pyport.h
index 94c135ff61..b631cf3c98 100644
--- a/Include/pyport.h
+++ b/Include/pyport.h
@@ -39,27 +39,10 @@ Used in: Py_SAFE_DOWNCAST
#ifndef PY_LONG_LONG
#define PY_LONG_LONG long long
-#if defined(LLONG_MAX)
/* If LLONG_MAX is defined in limits.h, use that. */
#define PY_LLONG_MIN LLONG_MIN
#define PY_LLONG_MAX LLONG_MAX
#define PY_ULLONG_MAX ULLONG_MAX
-#elif defined(__LONG_LONG_MAX__)
-/* Otherwise, if GCC has a builtin define, use that. (Definition of
- * PY_LLONG_MIN assumes two's complement with no trap representation.) */
-#define PY_LLONG_MAX __LONG_LONG_MAX__
-#define PY_LLONG_MIN (-PY_LLONG_MAX - 1)
-#define PY_ULLONG_MAX (PY_LLONG_MAX * Py_ULL(2) + 1)
-#elif defined(SIZEOF_LONG_LONG)
-/* Otherwise compute from SIZEOF_LONG_LONG, assuming two's complement, no
- padding bits, and no trap representation. Note: PY_ULLONG_MAX was
- previously #defined as (~0ULL) here; but that'll give the wrong value in a
- preprocessor expression on systems where long long != intmax_t. */
-#define PY_LLONG_MAX \
- (1 + 2 * ((Py_LL(1) << (CHAR_BIT * SIZEOF_LONG_LONG - 2)) - 1))
-#define PY_LLONG_MIN (-PY_LLONG_MAX - 1)
-#define PY_ULLONG_MAX (PY_LLONG_MAX * Py_ULL(2) + 1)
-#endif /* LLONG_MAX */
#endif
#define PY_UINT32_T uint32_t
@@ -159,19 +142,6 @@ typedef int Py_ssize_clean_t;
# endif
#endif
-/* PY_FORMAT_LONG_LONG is analogous to PY_FORMAT_SIZE_T above, but for
- * the long long type instead of the size_t type. The "high level" Python format
- * functions listed above will interpret "lld" or "llu" correctly on
- * all platforms.
- */
-#ifndef PY_FORMAT_LONG_LONG
-# ifdef MS_WINDOWS
-# define PY_FORMAT_LONG_LONG "I64"
-# else
-# error "This platform's pyconfig.h needs to define PY_FORMAT_LONG_LONG"
-# endif
-#endif
-
/* Py_LOCAL can be used instead of static to get the fastest possible calling
* convention for functions that are local to a given module.
*
diff --git a/Lib/test/test_getargs2.py b/Lib/test/test_getargs2.py
index 16e163a964..0fbe12dd14 100644
--- a/Lib/test/test_getargs2.py
+++ b/Lib/test/test_getargs2.py
@@ -5,10 +5,6 @@ from test import support
# Skip this test if the _testcapi module isn't available.
support.import_module('_testcapi')
from _testcapi import getargs_keywords, getargs_keyword_only
-try:
- from _testcapi import getargs_L, getargs_K
-except ImportError:
- getargs_L = None # PY_LONG_LONG not available
# > How about the following counterproposal. This also changes some of
# > the other format codes to be a little more regular.
@@ -309,7 +305,6 @@ class Signed_TestCase(unittest.TestCase):
self.assertRaises(OverflowError, getargs_n, VERY_LARGE)
-@unittest.skipIf(getargs_L is None, 'PY_LONG_LONG is not available')
class LongLong_TestCase(unittest.TestCase):
def test_L(self):
from _testcapi import getargs_L
diff --git a/Modules/_blake2/blake2b_impl.c b/Modules/_blake2/blake2b_impl.c
index 9c3d8f54d5..58b502bb34 100644
--- a/Modules/_blake2/blake2b_impl.c
+++ b/Modules/_blake2/blake2b_impl.c
@@ -100,7 +100,7 @@ py_blake2b_new_impl(PyTypeObject *type, PyObject *data, int digest_size,
Py_buffer buf;
unsigned long leaf_size = 0;
- unsigned PY_LONG_LONG node_offset = 0;
+ unsigned long long node_offset = 0;
self = new_BLAKE2bObject(type);
if (self == NULL) {
@@ -170,7 +170,7 @@ py_blake2b_new_impl(PyTypeObject *type, PyObject *data, int digest_size,
if (node_offset_obj != NULL) {
node_offset = PyLong_AsUnsignedLongLong(node_offset_obj);
- if (node_offset == (unsigned PY_LONG_LONG) -1 && PyErr_Occurred()) {
+ if (node_offset == (unsigned long long) -1 && PyErr_Occurred()) {
goto error;
}
}
diff --git a/Modules/_blake2/blake2s_impl.c b/Modules/_blake2/blake2s_impl.c
index 53c22c2a9b..11d2e02251 100644
--- a/Modules/_blake2/blake2s_impl.c
+++ b/Modules/_blake2/blake2s_impl.c
@@ -100,7 +100,7 @@ py_blake2s_new_impl(PyTypeObject *type, PyObject *data, int digest_size,
Py_buffer buf;
unsigned long leaf_size = 0;
- unsigned PY_LONG_LONG node_offset = 0;
+ unsigned long long node_offset = 0;
self = new_BLAKE2sObject(type);
if (self == NULL) {
@@ -170,7 +170,7 @@ py_blake2s_new_impl(PyTypeObject *type, PyObject *data, int digest_size,
if (node_offset_obj != NULL) {
node_offset = PyLong_AsUnsignedLongLong(node_offset_obj);
- if (node_offset == (unsigned PY_LONG_LONG) -1 && PyErr_Occurred()) {
+ if (node_offset == (unsigned long long) -1 && PyErr_Occurred()) {
goto error;
}
}
diff --git a/Modules/_ctypes/_ctypes_test.c b/Modules/_ctypes/_ctypes_test.c
index 92c3b9e810..629ddf66bc 100644
--- a/Modules/_ctypes/_ctypes_test.c
+++ b/Modules/_ctypes/_ctypes_test.c
@@ -233,15 +233,15 @@ EXPORT(int) _testfunc_callback_with_pointer(int (*func)(int *))
return (*func)(table);
}
-EXPORT(PY_LONG_LONG) _testfunc_q_bhilfdq(signed char b, short h, int i, long l, float f,
- double d, PY_LONG_LONG q)
+EXPORT(long long) _testfunc_q_bhilfdq(signed char b, short h, int i, long l, float f,
+ double d, long long q)
{
- return (PY_LONG_LONG)(b + h + i + l + f + d + q);
+ return (long long)(b + h + i + l + f + d + q);
}
-EXPORT(PY_LONG_LONG) _testfunc_q_bhilfd(signed char b, short h, int i, long l, float f, double d)
+EXPORT(long long) _testfunc_q_bhilfd(signed char b, short h, int i, long l, float f, double d)
{
- return (PY_LONG_LONG)(b + h + i + l + f + d);
+ return (long long)(b + h + i + l + f + d);
}
EXPORT(int) _testfunc_callback_i_if(int value, int (*func)(int))
@@ -254,10 +254,10 @@ EXPORT(int) _testfunc_callback_i_if(int value, int (*func)(int))
return sum;
}
-EXPORT(PY_LONG_LONG) _testfunc_callback_q_qf(PY_LONG_LONG value,
- PY_LONG_LONG (*func)(PY_LONG_LONG))
+EXPORT(long long) _testfunc_callback_q_qf(long long value,
+ long long (*func)(long long))
{
- PY_LONG_LONG sum = 0;
+ long long sum = 0;
while (value != 0) {
sum += func(value);
@@ -381,8 +381,8 @@ EXPORT(void) _py_func(void)
{
}
-EXPORT(PY_LONG_LONG) last_tf_arg_s;
-EXPORT(unsigned PY_LONG_LONG) last_tf_arg_u;
+EXPORT(long long) last_tf_arg_s;
+EXPORT(unsigned long long) last_tf_arg_u;
struct BITS {
int A: 1, B:2, C:3, D:4, E: 5, F: 6, G: 7, H: 8, I: 9;
@@ -445,8 +445,8 @@ static PyMethodDef module_methods[] = {
{ NULL, NULL, 0, NULL},
};
-#define S last_tf_arg_s = (PY_LONG_LONG)c
-#define U last_tf_arg_u = (unsigned PY_LONG_LONG)c
+#define S last_tf_arg_s = (long long)c
+#define U last_tf_arg_u = (unsigned long long)c
EXPORT(signed char) tf_b(signed char c) { S; return c/3; }
EXPORT(unsigned char) tf_B(unsigned char c) { U; return c/3; }
@@ -456,8 +456,8 @@ EXPORT(int) tf_i(int c) { S; return c/3; }
EXPORT(unsigned int) tf_I(unsigned int c) { U; return c/3; }
EXPORT(long) tf_l(long c) { S; return c/3; }
EXPORT(unsigned long) tf_L(unsigned long c) { U; return c/3; }
-EXPORT(PY_LONG_LONG) tf_q(PY_LONG_LONG c) { S; return c/3; }
-EXPORT(unsigned PY_LONG_LONG) tf_Q(unsigned PY_LONG_LONG c) { U; return c/3; }
+EXPORT(long long) tf_q(long long c) { S; return c/3; }
+EXPORT(unsigned long long) tf_Q(unsigned long long c) { U; return c/3; }
EXPORT(float) tf_f(float c) { S; return c/3; }
EXPORT(double) tf_d(double c) { S; return c/3; }
EXPORT(long double) tf_D(long double c) { S; return c/3; }
@@ -471,8 +471,8 @@ EXPORT(int) __stdcall s_tf_i(int c) { S; return c/3; }
EXPORT(unsigned int) __stdcall s_tf_I(unsigned int c) { U; return c/3; }
EXPORT(long) __stdcall s_tf_l(long c) { S; return c/3; }
EXPORT(unsigned long) __stdcall s_tf_L(unsigned long c) { U; return c/3; }
-EXPORT(PY_LONG_LONG) __stdcall s_tf_q(PY_LONG_LONG c) { S; return c/3; }
-EXPORT(unsigned PY_LONG_LONG) __stdcall s_tf_Q(unsigned PY_LONG_LONG c) { U; return c/3; }
+EXPORT(long long) __stdcall s_tf_q(long long c) { S; return c/3; }
+EXPORT(unsigned long long) __stdcall s_tf_Q(unsigned long long c) { U; return c/3; }
EXPORT(float) __stdcall s_tf_f(float c) { S; return c/3; }
EXPORT(double) __stdcall s_tf_d(double c) { S; return c/3; }
EXPORT(long double) __stdcall s_tf_D(long double c) { S; return c/3; }
@@ -487,8 +487,8 @@ EXPORT(int) tf_bi(signed char x, int c) { S; return c/3; }
EXPORT(unsigned int) tf_bI(signed char x, unsigned int c) { U; return c/3; }
EXPORT(long) tf_bl(signed char x, long c) { S; return c/3; }
EXPORT(unsigned long) tf_bL(signed char x, unsigned long c) { U; return c/3; }
-EXPORT(PY_LONG_LONG) tf_bq(signed char x, PY_LONG_LONG c) { S; return c/3; }
-EXPORT(unsigned PY_LONG_LONG) tf_bQ(signed char x, unsigned PY_LONG_LONG c) { U; return c/3; }
+EXPORT(long long) tf_bq(signed char x, long long c) { S; return c/3; }
+EXPORT(unsigned long long) tf_bQ(signed char x, unsigned long long c) { U; return c/3; }
EXPORT(float) tf_bf(signed char x, float c) { S; return c/3; }
EXPORT(double) tf_bd(signed char x, double c) { S; return c/3; }
EXPORT(long double) tf_bD(signed char x, long double c) { S; return c/3; }
@@ -503,8 +503,8 @@ EXPORT(int) __stdcall s_tf_bi(signed char x, int c) { S; return c/3; }
EXPORT(unsigned int) __stdcall s_tf_bI(signed char x, unsigned int c) { U; return c/3; }
EXPORT(long) __stdcall s_tf_bl(signed char x, long c) { S; return c/3; }
EXPORT(unsigned long) __stdcall s_tf_bL(signed char x, unsigned long c) { U; return c/3; }
-EXPORT(PY_LONG_LONG) __stdcall s_tf_bq(signed char x, PY_LONG_LONG c) { S; return c/3; }
-EXPORT(unsigned PY_LONG_LONG) __stdcall s_tf_bQ(signed char x, unsigned PY_LONG_LONG c) { U; return c/3; }
+EXPORT(long long) __stdcall s_tf_bq(signed char x, long long c) { S; return c/3; }
+EXPORT(unsigned long long) __stdcall s_tf_bQ(signed char x, unsigned long long c) { U; return c/3; }
EXPORT(float) __stdcall s_tf_bf(signed char x, float c) { S; return c/3; }
EXPORT(double) __stdcall s_tf_bd(signed char x, double c) { S; return c/3; }
EXPORT(long double) __stdcall s_tf_bD(signed char x, long double c) { S; return c/3; }
diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
index 5fc96f7633..d3044f3af8 100644
--- a/Modules/_ctypes/callproc.c
+++ b/Modules/_ctypes/callproc.c
@@ -591,7 +591,7 @@ union result {
short h;
int i;
long l;
- PY_LONG_LONG q;
+ long long q;
long double D;
double d;
float f;
diff --git a/Modules/_ctypes/cfield.c b/Modules/_ctypes/cfield.c
index 782336dd31..a43585f1b8 100644
--- a/Modules/_ctypes/cfield.c
+++ b/Modules/_ctypes/cfield.c
@@ -382,9 +382,9 @@ get_ulong(PyObject *v, unsigned long *p)
/* Same, but handling native long long. */
static int
-get_longlong(PyObject *v, PY_LONG_LONG *p)
+get_longlong(PyObject *v, long long *p)
{
- PY_LONG_LONG x;
+ long long x;
if (PyFloat_Check(v)) {
PyErr_SetString(PyExc_TypeError,
"int expected instead of float");
@@ -400,16 +400,16 @@ get_longlong(PyObject *v, PY_LONG_LONG *p)
/* Same, but handling native unsigned long long. */
static int
-get_ulonglong(PyObject *v, unsigned PY_LONG_LONG *p)
+get_ulonglong(PyObject *v, unsigned long long *p)
{
- unsigned PY_LONG_LONG x;
+ unsigned long long x;
if (PyFloat_Check(v)) {
PyErr_SetString(PyExc_TypeError,
"int expected instead of float");
return -1;
}
x = PyLong_AsUnsignedLongLongMask(v);
- if (x == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())
+ if (x == (unsigned long long)-1 && PyErr_Occurred())
return -1;
*p = x;
return 0;
@@ -879,12 +879,12 @@ L_get_sw(void *ptr, Py_ssize_t size)
static PyObject *
q_set(void *ptr, PyObject *value, Py_ssize_t size)
{
- PY_LONG_LONG val;
- PY_LONG_LONG x;
+ long long val;
+ long long x;
if (get_longlong(value, &val) < 0)
return NULL;
memcpy(&x, ptr, sizeof(x));
- x = SET(PY_LONG_LONG, x, val, size);
+ x = SET(long long, x, val, size);
memcpy(ptr, &x, sizeof(x));
_RET(value);
}
@@ -892,13 +892,13 @@ q_set(void *ptr, PyObject *value, Py_ssize_t size)
static PyObject *
q_set_sw(void *ptr, PyObject *value, Py_ssize_t size)
{
- PY_LONG_LONG val;
- PY_LONG_LONG field;
+ long long val;
+ long long field;
if (get_longlong(value, &val) < 0)
return NULL;
memcpy(&field, ptr, sizeof(field));
field = SWAP_8(field);
- field = SET(PY_LONG_LONG, field, val, size);
+ field = SET(long long, field, val, size);
field = SWAP_8(field);
memcpy(ptr, &field, sizeof(field));
_RET(value);
@@ -907,7 +907,7 @@ q_set_sw(void *ptr, PyObject *value, Py_ssize_t size)
static PyObject *
q_get(void *ptr, Py_ssize_t size)
{
- PY_LONG_LONG val;
+ long long val;
memcpy(&val, ptr, sizeof(val));
GET_BITFIELD(val, size);
return PyLong_FromLongLong(val);
@@ -916,7 +916,7 @@ q_get(void *ptr, Py_ssize_t size)
static PyObject *
q_get_sw(void *ptr, Py_ssize_t size)
{
- PY_LONG_LONG val;
+ long long val;
memcpy(&val, ptr, sizeof(val));
val = SWAP_8(val);
GET_BITFIELD(val, size);
@@ -926,12 +926,12 @@ q_get_sw(void *ptr, Py_ssize_t size)
static PyObject *
Q_set(void *ptr, PyObject *value, Py_ssize_t size)
{
- unsigned PY_LONG_LONG val;
- unsigned PY_LONG_LONG x;
+ unsigned long long val;
+ unsigned long long x;
if (get_ulonglong(value, &val) < 0)
return NULL;
memcpy(&x, ptr, sizeof(x));
- x = SET(PY_LONG_LONG, x, val, size);
+ x = SET(long long, x, val, size);
memcpy(ptr, &x, sizeof(x));
_RET(value);
}
@@ -939,13 +939,13 @@ Q_set(void *ptr, PyObject *value, Py_ssize_t size)
static PyObject *
Q_set_sw(void *ptr, PyObject *value, Py_ssize_t size)
{
- unsigned PY_LONG_LONG val;
- unsigned PY_LONG_LONG field;
+ unsigned long long val;
+ unsigned long long field;
if (get_ulonglong(value, &val) < 0)
return NULL;
memcpy(&field, ptr, sizeof(field));
field = SWAP_8(field);
- field = SET(unsigned PY_LONG_LONG, field, val, size);
+ field = SET(unsigned long long, field, val, size);
field = SWAP_8(field);
memcpy(ptr, &field, sizeof(field));
_RET(value);
@@ -954,7 +954,7 @@ Q_set_sw(void *ptr, PyObject *value, Py_ssize_t size)
static PyObject *
Q_get(void *ptr, Py_ssize_t size)
{
- unsigned PY_LONG_LONG val;
+ unsigned long long val;
memcpy(&val, ptr, sizeof(val));
GET_BITFIELD(val, size);
return PyLong_FromUnsignedLongLong(val);
@@ -963,7 +963,7 @@ Q_get(void *ptr, Py_ssize_t size)
static PyObject *
Q_get_sw(void *ptr, Py_ssize_t size)
{
- unsigned PY_LONG_LONG val;
+ unsigned long long val;
memcpy(&val, ptr, sizeof(val));
val = SWAP_8(val);
GET_BITFIELD(val, size);
@@ -1477,7 +1477,7 @@ P_set(void *ptr, PyObject *value, Py_ssize_t size)
v = (void *)PyLong_AsUnsignedLongMask(value);
#else
#if SIZEOF_LONG_LONG < SIZEOF_VOID_P
-# error "PyLong_AsVoidPtr: sizeof(PY_LONG_LONG) < sizeof(void*)"
+# error "PyLong_AsVoidPtr: sizeof(long long) < sizeof(void*)"
#endif
v = (void *)PyLong_AsUnsignedLongLongMask(value);
#endif
@@ -1617,8 +1617,8 @@ typedef struct { char c; wchar_t *x; } s_wchar_p;
#endif
*/
-typedef struct { char c; PY_LONG_LONG x; } s_long_long;
-#define LONG_LONG_ALIGN (sizeof(s_long_long) - sizeof(PY_LONG_LONG))
+typedef struct { char c; long long x; } s_long_long;
+#define LONG_LONG_ALIGN (sizeof(s_long_long) - sizeof(long long))
/* from ffi.h:
typedef struct _ffi_type
diff --git a/Modules/_ctypes/ctypes.h b/Modules/_ctypes/ctypes.h
index 64cb69fa2b..b71f139f8b 100644
--- a/Modules/_ctypes/ctypes.h
+++ b/Modules/_ctypes/ctypes.h
@@ -301,7 +301,7 @@ struct tagPyCArgObject {
short h;
int i;
long l;
- PY_LONG_LONG q;
+ long long q;
long double D;
double d;
float f;
diff --git a/Modules/_io/_iomodule.h b/Modules/_io/_iomodule.h
index 007e0c4b32..8b5ec88948 100644
--- a/Modules/_io/_iomodule.h
+++ b/Modules/_io/_iomodule.h
@@ -85,12 +85,12 @@ extern int _PyIO_trap_eintr(void);
#ifdef MS_WINDOWS
/* Windows uses long long for offsets */
-typedef PY_LONG_LONG Py_off_t;
+typedef long long Py_off_t;
# define PyLong_AsOff_t PyLong_AsLongLong
# define PyLong_FromOff_t PyLong_FromLongLong
-# define PY_OFF_T_MAX PY_LLONG_MAX
-# define PY_OFF_T_MIN PY_LLONG_MIN
-# define PY_OFF_T_COMPAT PY_LONG_LONG /* type compatible with off_t */
+# define PY_OFF_T_MAX LLONG_MAX
+# define PY_OFF_T_MIN LLONG_MIN
+# define PY_OFF_T_COMPAT long long /* type compatible with off_t */
# define PY_PRIdOFF "lld" /* format to use for that type */
#else
@@ -107,9 +107,9 @@ typedef off_t Py_off_t;
#elif (SIZEOF_OFF_T == SIZEOF_LONG_LONG)
# define PyLong_AsOff_t PyLong_AsLongLong
# define PyLong_FromOff_t PyLong_FromLongLong
-# define PY_OFF_T_MAX PY_LLONG_MAX
-# define PY_OFF_T_MIN PY_LLONG_MIN
-# define PY_OFF_T_COMPAT PY_LONG_LONG
+# define PY_OFF_T_MAX LLONG_MAX
+# define PY_OFF_T_MIN LLONG_MIN
+# define PY_OFF_T_COMPAT long long
# define PY_PRIdOFF "lld"
#elif (SIZEOF_OFF_T == SIZEOF_LONG)
# define PyLong_AsOff_t PyLong_AsLong
diff --git a/Modules/_io/textio.c b/Modules/_io/textio.c
index 96c8e7b453..508e46e713 100644
--- a/Modules/_io/textio.c
+++ b/Modules/_io/textio.c
@@ -531,7 +531,7 @@ _io_IncrementalNewlineDecoder_getstate_impl(nldecoder_object *self)
/*[clinic end generated code: output=f0d2c9c136f4e0d0 input=f8ff101825e32e7f]*/
{
PyObject *buffer;
- unsigned PY_LONG_LONG flag;
+ unsigned long long flag;
if (self->decoder != Py_None) {
PyObject *state = PyObject_CallMethodObjArgs(self->decoder,
@@ -567,7 +567,7 @@ _io_IncrementalNewlineDecoder_setstate(nldecoder_object *self,
/*[clinic end generated code: output=c10c622508b576cb input=c53fb505a76dbbe2]*/
{
PyObject *buffer;
- unsigned PY_LONG_LONG flag;
+ unsigned long long flag;
if (!PyArg_ParseTuple(state, "OK", &buffer, &flag))
return NULL;
diff --git a/Modules/_sqlite/util.c b/Modules/_sqlite/util.c
index a276dadc65..351b1b47a4 100644
--- a/Modules/_sqlite/util.c
+++ b/Modules/_sqlite/util.c
@@ -130,7 +130,7 @@ sqlite_int64
_pysqlite_long_as_int64(PyObject * py_val)
{
int overflow;
- PY_LONG_LONG value = PyLong_AsLongLongAndOverflow(py_val, &overflow);
+ long long value = PyLong_AsLongLongAndOverflow(py_val, &overflow);
if (value == -1 && PyErr_Occurred())
return -1;
if (!overflow) {
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 3553aaf4ad..88f68ef74d 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -2680,7 +2680,7 @@ unicode_fromformat_arg(_PyUnicodeWriter *writer,
len = sprintf(buffer, "%lu",
va_arg(*vargs, unsigned long));
else if (longlongflag)
- len = sprintf(buffer, "%" PY_FORMAT_LONG_LONG "u",
+ len = sprintf(buffer, "%llu",
va_arg(*vargs, unsigned long long));
else if (size_tflag)
len = sprintf(buffer, "%" PY_FORMAT_SIZE_T "u",
@@ -2697,7 +2697,7 @@ unicode_fromformat_arg(_PyUnicodeWriter *writer,
len = sprintf(buffer, "%li",
va_arg(*vargs, long));
else if (longlongflag)
- len = sprintf(buffer, "%" PY_FORMAT_LONG_LONG "i",
+ len = sprintf(buffer, "%lli",
va_arg(*vargs, long long));
else if (size_tflag)
len = sprintf(buffer, "%" PY_FORMAT_SIZE_T "i",
diff --git a/aclocal.m4 b/aclocal.m4
index 9a9cc55728..2a745e5746 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -13,7 +13,7 @@
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
-dnl serial 11 (pkg-config-0.29)
+dnl serial 11 (pkg-config-0.29.1)
dnl
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
@@ -55,7 +55,7 @@ dnl
dnl See the "Since" comment for each macro you use to see what version
dnl of the macros you require.
m4_defun([PKG_PREREQ],
-[m4_define([PKG_MACROS_VERSION], [0.29])
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
])dnl PKG_PREREQ
diff --git a/configure b/configure
index 4590423aac..04b19686b6 100755
--- a/configure
+++ b/configure
@@ -15729,99 +15729,6 @@ $as_echo "#define HAVE_DEV_PTC 1" >>confdefs.h
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for %lld and %llu printf() format support" >&5
-$as_echo_n "checking for %lld and %llu printf() format support... " >&6; }
-if ${ac_cv_have_long_long_format+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_have_long_long_format="cross -- assuming no"
-if test x$GCC = xyes; then
-save_CFLAGS=$CFLAGS
-CFLAGS="$CFLAGS -Werror -Wformat"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <stdio.h>
-#include <stddef.h>
-
-int
-main ()
-{
-
-char *buffer;
-sprintf(buffer, "%lld", (long long)123);
-sprintf(buffer, "%lld", (long long)-123);
-sprintf(buffer, "%llu", (unsigned long long)123);
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_have_long_long_format=yes
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$save_CFLAGS
-fi
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <stdio.h>
-#include <stddef.h>
-#include <string.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-int main()
-{
-char buffer[256];
-
-if (sprintf(buffer, "%lld", (long long)123) < 0)
-return 1;
-if (strcmp(buffer, "123"))
-return 1;
-
-if (sprintf(buffer, "%lld", (long long)-123) < 0)
-return 1;
-if (strcmp(buffer, "-123"))
-return 1;
-
-if (sprintf(buffer, "%llu", (unsigned long long)123) < 0)
-return 1;
-if (strcmp(buffer, "123"))
-return 1;
-
-return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_have_long_long_format=yes
-else
- ac_cv_have_long_long_format=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_long_long_format" >&5
-$as_echo "$ac_cv_have_long_long_format" >&6; }
-
-if test "$ac_cv_have_long_long_format" = yes
-then
-
-$as_echo "#define PY_FORMAT_LONG_LONG \"ll\"" >>confdefs.h
-
-fi
-
if test $ac_sys_system = Darwin
then
LIBS="$LIBS -framework CoreFoundation"
diff --git a/configure.ac b/configure.ac
index c57a94e4fc..6f3ca24979 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4938,67 +4938,6 @@ if test "x$ac_cv_file__dev_ptc" = xyes; then
[Define to 1 if you have the /dev/ptc device file.])
fi
-AC_MSG_CHECKING(for %lld and %llu printf() format support)
-AC_CACHE_VAL(ac_cv_have_long_long_format,
-AC_RUN_IFELSE([AC_LANG_SOURCE([[[
-#include <stdio.h>
-#include <stddef.h>
-#include <string.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-int main()
-{
-char buffer[256];
-
-if (sprintf(buffer, "%lld", (long long)123) < 0)
-return 1;
-if (strcmp(buffer, "123"))
-return 1;
-
-if (sprintf(buffer, "%lld", (long long)-123) < 0)
-return 1;
-if (strcmp(buffer, "-123"))
-return 1;
-
-if (sprintf(buffer, "%llu", (unsigned long long)123) < 0)
-return 1;
-if (strcmp(buffer, "123"))
-return 1;
-
-return 0;
-}
-]]])],
-[ac_cv_have_long_long_format=yes],
-[ac_cv_have_long_long_format=no],
-[ac_cv_have_long_long_format="cross -- assuming no"
-if test x$GCC = xyes; then
-save_CFLAGS=$CFLAGS
-CFLAGS="$CFLAGS -Werror -Wformat"
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-#include <stdio.h>
-#include <stddef.h>
-]], [[
-char *buffer;
-sprintf(buffer, "%lld", (long long)123);
-sprintf(buffer, "%lld", (long long)-123);
-sprintf(buffer, "%llu", (unsigned long long)123);
-]])],
-ac_cv_have_long_long_format=yes
-)
-CFLAGS=$save_CFLAGS
-fi])
-)
-AC_MSG_RESULT($ac_cv_have_long_long_format)
-
-if test "$ac_cv_have_long_long_format" = yes
-then
- AC_DEFINE(PY_FORMAT_LONG_LONG, "ll",
- [Define to printf format modifier for long long type])
-fi
-
if test $ac_sys_system = Darwin
then
LIBS="$LIBS -framework CoreFoundation"
diff --git a/pyconfig.h.in b/pyconfig.h.in
index 2774bf4452..fb79413f42 100644
--- a/pyconfig.h.in
+++ b/pyconfig.h.in
@@ -1241,9 +1241,6 @@
/* Define as the preferred size in bits of long digits */
#undef PYLONG_BITS_IN_DIGIT
-/* Define to printf format modifier for long long type */
-#undef PY_FORMAT_LONG_LONG
-
/* Define to printf format modifier for Py_ssize_t */
#undef PY_FORMAT_SIZE_T