Issue #18722: Remove uses of the "register" keyword in C code.
diff --git a/Objects/bytearrayobject.c b/Objects/bytearrayobject.c
index aa38924..6ea654e 100644
--- a/Objects/bytearrayobject.c
+++ b/Objects/bytearrayobject.c
@@ -862,9 +862,9 @@
/* 15 == strlen(quote_prefix) + 2 + strlen(quote_postfix) + 1 */
size_t newsize;
PyObject *v;
- register Py_ssize_t i;
- register char c;
- register char *p;
+ Py_ssize_t i;
+ char c;
+ char *p;
int quote;
char *test, *start;
char *buffer;
@@ -1431,9 +1431,9 @@
static PyObject *
bytearray_translate(PyByteArrayObject *self, PyObject *args)
{
- register char *input, *output;
- register const char *table;
- register Py_ssize_t i, c;
+ char *input, *output;
+ const char *table;
+ Py_ssize_t i, c;
PyObject *input_obj = (PyObject*)self;
const char *output_start;
Py_ssize_t inlen;
diff --git a/Objects/bytes_methods.c b/Objects/bytes_methods.c
index ef3c2f7..4e8107b 100644
--- a/Objects/bytes_methods.c
+++ b/Objects/bytes_methods.c
@@ -10,9 +10,9 @@
PyObject*
_Py_bytes_isspace(const char *cptr, Py_ssize_t len)
{
- register const unsigned char *p
+ const unsigned char *p
= (unsigned char *) cptr;
- register const unsigned char *e;
+ const unsigned char *e;
/* Shortcut for single character strings */
if (len == 1 && Py_ISSPACE(*p))
@@ -40,9 +40,9 @@
PyObject*
_Py_bytes_isalpha(const char *cptr, Py_ssize_t len)
{
- register const unsigned char *p
+ const unsigned char *p
= (unsigned char *) cptr;
- register const unsigned char *e;
+ const unsigned char *e;
/* Shortcut for single character strings */
if (len == 1 && Py_ISALPHA(*p))
@@ -70,9 +70,9 @@
PyObject*
_Py_bytes_isalnum(const char *cptr, Py_ssize_t len)
{
- register const unsigned char *p
+ const unsigned char *p
= (unsigned char *) cptr;
- register const unsigned char *e;
+ const unsigned char *e;
/* Shortcut for single character strings */
if (len == 1 && Py_ISALNUM(*p))
@@ -100,9 +100,9 @@
PyObject*
_Py_bytes_isdigit(const char *cptr, Py_ssize_t len)
{
- register const unsigned char *p
+ const unsigned char *p
= (unsigned char *) cptr;
- register const unsigned char *e;
+ const unsigned char *e;
/* Shortcut for single character strings */
if (len == 1 && Py_ISDIGIT(*p))
@@ -130,9 +130,9 @@
PyObject*
_Py_bytes_islower(const char *cptr, Py_ssize_t len)
{
- register const unsigned char *p
+ const unsigned char *p
= (unsigned char *) cptr;
- register const unsigned char *e;
+ const unsigned char *e;
int cased;
/* Shortcut for single character strings */
@@ -164,9 +164,9 @@
PyObject*
_Py_bytes_isupper(const char *cptr, Py_ssize_t len)
{
- register const unsigned char *p
+ const unsigned char *p
= (unsigned char *) cptr;
- register const unsigned char *e;
+ const unsigned char *e;
int cased;
/* Shortcut for single character strings */
@@ -200,9 +200,9 @@
PyObject*
_Py_bytes_istitle(const char *cptr, Py_ssize_t len)
{
- register const unsigned char *p
+ const unsigned char *p
= (unsigned char *) cptr;
- register const unsigned char *e;
+ const unsigned char *e;
int cased, previous_is_cased;
/* Shortcut for single character strings */
@@ -217,7 +217,7 @@
cased = 0;
previous_is_cased = 0;
for (; p < e; p++) {
- register const unsigned char ch = *p;
+ const unsigned char ch = *p;
if (Py_ISUPPER(ch)) {
if (previous_is_cased)
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index 056ac36..3a2906c 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -74,7 +74,7 @@
PyObject *
PyBytes_FromStringAndSize(const char *str, Py_ssize_t size)
{
- register PyBytesObject *op;
+ PyBytesObject *op;
if (size < 0) {
PyErr_SetString(PyExc_SystemError,
"Negative size passed to PyBytes_FromStringAndSize");
@@ -126,8 +126,8 @@
PyObject *
PyBytes_FromString(const char *str)
{
- register size_t size;
- register PyBytesObject *op;
+ size_t size;
+ PyBytesObject *op;
assert(str != NULL);
size = strlen(str);
@@ -513,7 +513,7 @@
/* object api */
Py_ssize_t
-PyBytes_Size(register PyObject *op)
+PyBytes_Size(PyObject *op)
{
if (!PyBytes_Check(op)) {
PyErr_Format(PyExc_TypeError,
@@ -524,7 +524,7 @@
}
char *
-PyBytes_AsString(register PyObject *op)
+PyBytes_AsString(PyObject *op)
{
if (!PyBytes_Check(op)) {
PyErr_Format(PyExc_TypeError,
@@ -535,9 +535,9 @@
}
int
-PyBytes_AsStringAndSize(register PyObject *obj,
- register char **s,
- register Py_ssize_t *len)
+PyBytes_AsStringAndSize(PyObject *obj,
+ char **s,
+ Py_ssize_t *len)
{
if (s == NULL) {
PyErr_BadInternalCall();
@@ -579,7 +579,7 @@
PyObject *
PyBytes_Repr(PyObject *obj, int smartquotes)
{
- register PyBytesObject* op = (PyBytesObject*) obj;
+ PyBytesObject* op = (PyBytesObject*) obj;
Py_ssize_t i, length = Py_SIZE(op);
size_t newsize, squotes, dquotes;
PyObject *v;
@@ -718,12 +718,12 @@
}
static PyObject *
-bytes_repeat(register PyBytesObject *a, register Py_ssize_t n)
+bytes_repeat(PyBytesObject *a, Py_ssize_t n)
{
- register Py_ssize_t i;
- register Py_ssize_t j;
- register Py_ssize_t size;
- register PyBytesObject *op;
+ Py_ssize_t i;
+ Py_ssize_t j;
+ Py_ssize_t size;
+ PyBytesObject *op;
size_t nbytes;
if (n < 0)
n = 0;
@@ -793,7 +793,7 @@
}
static PyObject *
-bytes_item(PyBytesObject *a, register Py_ssize_t i)
+bytes_item(PyBytesObject *a, Py_ssize_t i)
{
if (i < 0 || i >= Py_SIZE(a)) {
PyErr_SetString(PyExc_IndexError, "index out of range");
@@ -1461,9 +1461,9 @@
static PyObject *
bytes_translate(PyBytesObject *self, PyObject *args)
{
- register char *input, *output;
+ char *input, *output;
const char *table;
- register Py_ssize_t i, c, changed = 0;
+ Py_ssize_t i, c, changed = 0;
PyObject *input_obj = (PyObject*)self;
const char *output_start, *del_table=NULL;
Py_ssize_t inlen, tablen, dellen = 0;
@@ -2748,9 +2748,9 @@
};
void
-PyBytes_Concat(register PyObject **pv, register PyObject *w)
+PyBytes_Concat(PyObject **pv, PyObject *w)
{
- register PyObject *v;
+ PyObject *v;
assert(pv != NULL);
if (*pv == NULL)
return;
@@ -2764,7 +2764,7 @@
}
void
-PyBytes_ConcatAndDel(register PyObject **pv, register PyObject *w)
+PyBytes_ConcatAndDel(PyObject **pv, PyObject *w)
{
PyBytes_Concat(pv, w);
Py_XDECREF(w);
@@ -2788,8 +2788,8 @@
int
_PyBytes_Resize(PyObject **pv, Py_ssize_t newsize)
{
- register PyObject *v;
- register PyBytesObject *sv;
+ PyObject *v;
+ PyBytesObject *sv;
v = *pv;
if (!PyBytes_Check(v) || Py_REFCNT(v) != 1 || newsize < 0) {
*pv = 0;
diff --git a/Objects/classobject.c b/Objects/classobject.c
index cdc9b1c..27f7ef4 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -44,7 +44,7 @@
PyObject *
PyMethod_New(PyObject *func, PyObject *self)
{
- register PyMethodObject *im;
+ PyMethodObject *im;
if (self == NULL) {
PyErr_BadInternalCall();
return NULL;
@@ -164,7 +164,7 @@
}
static void
-method_dealloc(register PyMethodObject *im)
+method_dealloc(PyMethodObject *im)
{
_PyObject_GC_UNTRACK(im);
if (im->im_weakreflist != NULL)
@@ -509,7 +509,7 @@
static PyObject *
instancemethod_descr_get(PyObject *descr, PyObject *obj, PyObject *type) {
- register PyObject *func = PyInstanceMethod_GET_FUNCTION(descr);
+ PyObject *func = PyInstanceMethod_GET_FUNCTION(descr);
if (obj == NULL) {
Py_INCREF(func);
return func;
diff --git a/Objects/complexobject.c b/Objects/complexobject.c
index 54838cc..5747450 100644
--- a/Objects/complexobject.c
+++ b/Objects/complexobject.c
@@ -211,7 +211,7 @@
PyObject *
PyComplex_FromCComplex(Py_complex cval)
{
- register PyComplexObject *op;
+ PyComplexObject *op;
/* Inline PyObject_New */
op = (PyComplexObject *) PyObject_MALLOC(sizeof(PyComplexObject));
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index e0cb8ac..b5cbfb1 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -467,13 +467,13 @@
lookdict(PyDictObject *mp, PyObject *key,
Py_hash_t hash, PyObject ***value_addr)
{
- register size_t i;
- register size_t perturb;
- register PyDictKeyEntry *freeslot;
- register size_t mask;
+ size_t i;
+ size_t perturb;
+ PyDictKeyEntry *freeslot;
+ size_t mask;
PyDictKeyEntry *ep0;
- register PyDictKeyEntry *ep;
- register int cmp;
+ PyDictKeyEntry *ep;
+ int cmp;
PyObject *startkey;
top:
@@ -559,12 +559,12 @@
lookdict_unicode(PyDictObject *mp, PyObject *key,
Py_hash_t hash, PyObject ***value_addr)
{
- register size_t i;
- register size_t perturb;
- register PyDictKeyEntry *freeslot;
- register size_t mask = DK_MASK(mp->ma_keys);
+ size_t i;
+ size_t perturb;
+ PyDictKeyEntry *freeslot;
+ size_t mask = DK_MASK(mp->ma_keys);
PyDictKeyEntry *ep0 = &mp->ma_keys->dk_entries[0];
- register PyDictKeyEntry *ep;
+ PyDictKeyEntry *ep;
/* Make sure this function doesn't have to handle non-unicode keys,
including subclasses of str; e.g., one reason to subclass
@@ -624,11 +624,11 @@
lookdict_unicode_nodummy(PyDictObject *mp, PyObject *key,
Py_hash_t hash, PyObject ***value_addr)
{
- register size_t i;
- register size_t perturb;
- register size_t mask = DK_MASK(mp->ma_keys);
+ size_t i;
+ size_t perturb;
+ size_t mask = DK_MASK(mp->ma_keys);
PyDictKeyEntry *ep0 = &mp->ma_keys->dk_entries[0];
- register PyDictKeyEntry *ep;
+ PyDictKeyEntry *ep;
/* Make sure this function doesn't have to handle non-unicode keys,
including subclasses of str; e.g., one reason to subclass
@@ -669,11 +669,11 @@
lookdict_split(PyDictObject *mp, PyObject *key,
Py_hash_t hash, PyObject ***value_addr)
{
- register size_t i;
- register size_t perturb;
- register size_t mask = DK_MASK(mp->ma_keys);
+ size_t i;
+ size_t perturb;
+ size_t mask = DK_MASK(mp->ma_keys);
PyDictKeyEntry *ep0 = &mp->ma_keys->dk_entries[0];
- register PyDictKeyEntry *ep;
+ PyDictKeyEntry *ep;
if (!PyUnicode_CheckExact(key)) {
ep = lookdict(mp, key, hash, value_addr);
@@ -1498,7 +1498,7 @@
}
static PyObject *
-dict_subscript(PyDictObject *mp, register PyObject *key)
+dict_subscript(PyDictObject *mp, PyObject *key)
{
PyObject *v;
Py_hash_t hash;
@@ -1554,10 +1554,10 @@
};
static PyObject *
-dict_keys(register PyDictObject *mp)
+dict_keys(PyDictObject *mp)
{
- register PyObject *v;
- register Py_ssize_t i, j;
+ PyObject *v;
+ Py_ssize_t i, j;
PyDictKeyEntry *ep;
Py_ssize_t size, n, offset;
PyObject **value_ptr;
@@ -1598,10 +1598,10 @@
}
static PyObject *
-dict_values(register PyDictObject *mp)
+dict_values(PyDictObject *mp)
{
- register PyObject *v;
- register Py_ssize_t i, j;
+ PyObject *v;
+ Py_ssize_t i, j;
Py_ssize_t size, n, offset;
PyObject **value_ptr;
@@ -1640,10 +1640,10 @@
}
static PyObject *
-dict_items(register PyDictObject *mp)
+dict_items(PyDictObject *mp)
{
- register PyObject *v;
- register Py_ssize_t i, j, n;
+ PyObject *v;
+ Py_ssize_t i, j, n;
Py_ssize_t size, offset;
PyObject *item, *key;
PyDictKeyEntry *ep;
@@ -1915,8 +1915,8 @@
int
PyDict_Merge(PyObject *a, PyObject *b, int override)
{
- register PyDictObject *mp, *other;
- register Py_ssize_t i, n;
+ PyDictObject *mp, *other;
+ Py_ssize_t i, n;
PyDictKeyEntry *entry;
/* We accept for the argument either a concrete dictionary object,
@@ -2013,7 +2013,7 @@
}
static PyObject *
-dict_copy(register PyDictObject *mp)
+dict_copy(PyDictObject *mp)
{
return PyDict_Copy((PyObject*)mp);
}
@@ -2175,7 +2175,7 @@
}
static PyObject *
-dict_contains(register PyDictObject *mp, PyObject *key)
+dict_contains(PyDictObject *mp, PyObject *key)
{
Py_hash_t hash;
PyDictKeyEntry *ep;
@@ -2194,7 +2194,7 @@
}
static PyObject *
-dict_get(register PyDictObject *mp, PyObject *args)
+dict_get(PyDictObject *mp, PyObject *args)
{
PyObject *key;
PyObject *failobj = Py_None;
@@ -2280,7 +2280,7 @@
}
static PyObject *
-dict_clear(register PyDictObject *mp)
+dict_clear(PyDictObject *mp)
{
PyDict_Clear((PyObject *)mp);
Py_RETURN_NONE;
@@ -2824,8 +2824,8 @@
static PyObject *dictiter_iternextkey(dictiterobject *di)
{
PyObject *key;
- register Py_ssize_t i, mask, offset;
- register PyDictKeysObject *k;
+ Py_ssize_t i, mask, offset;
+ PyDictKeysObject *k;
PyDictObject *d = di->di_dict;
PyObject **value_ptr;
@@ -2907,7 +2907,7 @@
static PyObject *dictiter_iternextvalue(dictiterobject *di)
{
PyObject *value;
- register Py_ssize_t i, mask, offset;
+ Py_ssize_t i, mask, offset;
PyDictObject *d = di->di_dict;
PyObject **value_ptr;
@@ -2988,7 +2988,7 @@
static PyObject *dictiter_iternextitem(dictiterobject *di)
{
PyObject *key, *value, *result = di->di_result;
- register Py_ssize_t i, mask, offset;
+ Py_ssize_t i, mask, offset;
PyDictObject *d = di->di_dict;
PyObject **value_ptr;
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index 7ee2034..fea83fa 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -109,7 +109,7 @@
PyObject *
PyFloat_FromDouble(double fval)
{
- register PyFloatObject *op = free_list;
+ PyFloatObject *op = free_list;
if (op != NULL) {
free_list = (PyFloatObject *) Py_TYPE(op);
numfree--;
@@ -241,7 +241,7 @@
static int
convert_to_double(PyObject **v, double *dbl)
{
- register PyObject *obj = *v;
+ PyObject *obj = *v;
if (PyLong_Check(obj)) {
*dbl = PyLong_AsDouble(obj);
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 2f203b3..c08c1f6 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -213,11 +213,11 @@
}
int
-PyList_SetItem(register PyObject *op, register Py_ssize_t i,
- register PyObject *newitem)
+PyList_SetItem(PyObject *op, Py_ssize_t i,
+ PyObject *newitem)
{
- register PyObject *olditem;
- register PyObject **p;
+ PyObject *olditem;
+ PyObject **p;
if (!PyList_Check(op)) {
Py_XDECREF(newitem);
PyErr_BadInternalCall();
@@ -1058,9 +1058,9 @@
static int
binarysort(sortslice lo, PyObject **hi, PyObject **start)
{
- register Py_ssize_t k;
- register PyObject **l, **p, **r;
- register PyObject *pivot;
+ Py_ssize_t k;
+ PyObject **l, **p, **r;
+ PyObject *pivot;
assert(lo.keys <= start && start <= hi);
/* assert [lo, start) is sorted */
diff --git a/Objects/longobject.c b/Objects/longobject.c
index e0d641a0..9784734 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -110,7 +110,7 @@
of the algorithms used, this could save at most be one word anyway. */
static PyLongObject *
-long_normalize(register PyLongObject *v)
+long_normalize(PyLongObject *v)
{
Py_ssize_t j = ABS(Py_SIZE(v));
Py_ssize_t i = j;
@@ -340,7 +340,7 @@
PyLong_AsLongAndOverflow(PyObject *vv, int *overflow)
{
/* This version by Tim Peters */
- register PyLongObject *v;
+ PyLongObject *v;
unsigned long x, prev;
long res;
Py_ssize_t i;
@@ -463,7 +463,7 @@
Py_ssize_t
PyLong_AsSsize_t(PyObject *vv) {
- register PyLongObject *v;
+ PyLongObject *v;
size_t x, prev;
Py_ssize_t i;
int sign;
@@ -519,7 +519,7 @@
unsigned long
PyLong_AsUnsignedLong(PyObject *vv)
{
- register PyLongObject *v;
+ PyLongObject *v;
unsigned long x, prev;
Py_ssize_t i;
@@ -563,7 +563,7 @@
size_t
PyLong_AsSize_t(PyObject *vv)
{
- register PyLongObject *v;
+ PyLongObject *v;
size_t x, prev;
Py_ssize_t i;
@@ -606,7 +606,7 @@
static unsigned long
_PyLong_AsUnsignedLongMask(PyObject *vv)
{
- register PyLongObject *v;
+ PyLongObject *v;
unsigned long x;
Py_ssize_t i;
int sign;
@@ -634,7 +634,7 @@
}
unsigned long
-PyLong_AsUnsignedLongMask(register PyObject *op)
+PyLong_AsUnsignedLongMask(PyObject *op)
{
PyNumberMethods *nb;
PyLongObject *lo;
@@ -1250,7 +1250,7 @@
static unsigned PY_LONG_LONG
_PyLong_AsUnsignedLongLongMask(PyObject *vv)
{
- register PyLongObject *v;
+ PyLongObject *v;
unsigned PY_LONG_LONG x;
Py_ssize_t i;
int sign;
@@ -1278,7 +1278,7 @@
}
unsigned PY_LONG_LONG
-PyLong_AsUnsignedLongLongMask(register PyObject *op)
+PyLong_AsUnsignedLongLongMask(PyObject *op)
{
PyNumberMethods *nb;
PyLongObject *lo;
@@ -1326,7 +1326,7 @@
PyLong_AsLongLongAndOverflow(PyObject *vv, int *overflow)
{
/* This version by Tim Peters */
- register PyLongObject *v;
+ PyLongObject *v;
unsigned PY_LONG_LONG x, prev;
PY_LONG_LONG res;
Py_ssize_t i;
@@ -1744,7 +1744,7 @@
long_format_binary(PyObject *aa, int base, int alternate,
PyObject **p_output, _PyUnicodeWriter *writer)
{
- register PyLongObject *a = (PyLongObject *)aa;
+ PyLongObject *a = (PyLongObject *)aa;
PyObject *v;
Py_ssize_t sz;
Py_ssize_t size_a;
@@ -2141,7 +2141,7 @@
just 1 digit at the start, so that the copying code was exercised for every
digit beyond the first.
***/
- register twodigits c; /* current input character */
+ twodigits c; /* current input character */
Py_ssize_t size_z;
int i;
int convwidth;
diff --git a/Objects/namespaceobject.c b/Objects/namespaceobject.c
index 8c51b07..9e95094 100644
--- a/Objects/namespaceobject.c
+++ b/Objects/namespaceobject.c
@@ -176,7 +176,7 @@
PyDoc_STRVAR(namespace_reduce__doc__, "Return state information for pickling");
static PyObject *
-namespace_reduce(register _PyNamespaceObject *ns)
+namespace_reduce(_PyNamespaceObject *ns)
{
PyObject *result, *args = PyTuple_New(0);
diff --git a/Objects/object.c b/Objects/object.c
index c83109d..8d4fe42 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -1834,10 +1834,10 @@
}
void
-_Py_ForgetReference(register PyObject *op)
+_Py_ForgetReference(PyObject *op)
{
#ifdef SLOW_UNREF_CHECK
- register PyObject *p;
+ PyObject *p;
#endif
if (op->ob_refcnt < 0)
Py_FatalError("UNREF negative refcnt");
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 0cea2a8..eff91c5 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -75,15 +75,15 @@
*/
static setentry *
-set_lookkey(PySetObject *so, PyObject *key, register Py_hash_t hash)
+set_lookkey(PySetObject *so, PyObject *key, Py_hash_t hash)
{
- register size_t i; /* Unsigned for defined overflow behavior. */
- register size_t perturb;
- register setentry *freeslot;
- register size_t mask = so->mask;
+ size_t i; /* Unsigned for defined overflow behavior. */
+ size_t perturb;
+ setentry *freeslot;
+ size_t mask = so->mask;
setentry *table = so->table;
- register setentry *entry;
- register int cmp;
+ setentry *entry;
+ int cmp;
PyObject *startkey;
i = (size_t)hash & mask;
@@ -157,14 +157,14 @@
* see if the comparison altered the table.
*/
static setentry *
-set_lookkey_unicode(PySetObject *so, PyObject *key, register Py_hash_t hash)
+set_lookkey_unicode(PySetObject *so, PyObject *key, Py_hash_t hash)
{
- register size_t i; /* Unsigned for defined overflow behavior. */
- register size_t perturb;
- register setentry *freeslot;
- register size_t mask = so->mask;
+ size_t i; /* Unsigned for defined overflow behavior. */
+ size_t perturb;
+ setentry *freeslot;
+ size_t mask = so->mask;
setentry *table = so->table;
- register setentry *entry;
+ setentry *entry;
/* Make sure this function doesn't have to handle non-unicode keys,
including subclasses of str; e.g., one reason to subclass
@@ -211,9 +211,9 @@
Eats a reference to key.
*/
static int
-set_insert_key(register PySetObject *so, PyObject *key, Py_hash_t hash)
+set_insert_key(PySetObject *so, PyObject *key, Py_hash_t hash)
{
- register setentry *entry;
+ setentry *entry;
assert(so->lookup != NULL);
entry = so->lookup(so, key, hash);
@@ -247,13 +247,13 @@
is responsible for incref'ing `key`.
*/
static void
-set_insert_clean(register PySetObject *so, PyObject *key, Py_hash_t hash)
+set_insert_clean(PySetObject *so, PyObject *key, Py_hash_t hash)
{
- register size_t i;
- register size_t perturb;
- register size_t mask = (size_t)so->mask;
+ size_t i;
+ size_t perturb;
+ size_t mask = (size_t)so->mask;
setentry *table = so->table;
- register setentry *entry;
+ setentry *entry;
i = (size_t)hash & mask;
entry = &table[i];
@@ -360,9 +360,9 @@
/* CAUTION: set_add_key/entry() must guarantee it won't resize the table */
static int
-set_add_entry(register PySetObject *so, setentry *entry)
+set_add_entry(PySetObject *so, setentry *entry)
{
- register Py_ssize_t n_used;
+ Py_ssize_t n_used;
PyObject *key = entry->key;
Py_hash_t hash = entry->hash;
@@ -379,10 +379,10 @@
}
static int
-set_add_key(register PySetObject *so, PyObject *key)
+set_add_key(PySetObject *so, PyObject *key)
{
- register Py_hash_t hash;
- register Py_ssize_t n_used;
+ Py_hash_t hash;
+ Py_ssize_t n_used;
if (!PyUnicode_CheckExact(key) ||
(hash = ((PyASCIIObject *) key)->hash) == -1) {
@@ -407,7 +407,7 @@
static int
set_discard_entry(PySetObject *so, setentry *oldentry)
-{ register setentry *entry;
+{ setentry *entry;
PyObject *old_key;
entry = (so->lookup)(so, oldentry->key, oldentry->hash);
@@ -426,8 +426,8 @@
static int
set_discard_key(PySetObject *so, PyObject *key)
{
- register Py_hash_t hash;
- register setentry *entry;
+ Py_hash_t hash;
+ setentry *entry;
PyObject *old_key;
assert (PyAnySet_Check(so));
@@ -533,7 +533,7 @@
{
Py_ssize_t i;
Py_ssize_t mask;
- register setentry *table;
+ setentry *table;
assert (PyAnySet_Check(so));
i = *pos_ptr;
@@ -553,7 +553,7 @@
static void
set_dealloc(PySetObject *so)
{
- register setentry *entry;
+ setentry *entry;
Py_ssize_t fill = so->fill;
PyObject_GC_UnTrack(so);
Py_TRASHCAN_SAFE_BEGIN(so)
@@ -632,8 +632,8 @@
PySetObject *other;
PyObject *key;
Py_hash_t hash;
- register Py_ssize_t i;
- register setentry *entry;
+ Py_ssize_t i;
+ setentry *entry;
assert (PyAnySet_Check(so));
assert (PyAnySet_Check(otherset));
@@ -701,8 +701,8 @@
static PyObject *
set_pop(PySetObject *so)
{
- register Py_ssize_t i = 0;
- register setentry *entry;
+ Py_ssize_t i = 0;
+ setentry *entry;
PyObject *key;
assert (PyAnySet_Check(so));
@@ -869,8 +869,8 @@
static PyObject *setiter_iternext(setiterobject *si)
{
PyObject *key;
- register Py_ssize_t i, mask;
- register setentry *entry;
+ Py_ssize_t i, mask;
+ setentry *entry;
PySetObject *so = si->si_set;
if (so == NULL)
@@ -1024,7 +1024,7 @@
static PyObject *
make_new_set(PyTypeObject *type, PyObject *iterable)
{
- register PySetObject *so = NULL;
+ PySetObject *so = NULL;
if (dummy == NULL) { /* Auto-initialize dummy */
dummy = PyUnicode_FromString("<dummy key>");
diff --git a/Objects/stringlib/codecs.h b/Objects/stringlib/codecs.h
index f855003..57319c6 100644
--- a/Objects/stringlib/codecs.h
+++ b/Objects/stringlib/codecs.h
@@ -38,8 +38,8 @@
*/
if (_Py_IS_ALIGNED(s, SIZEOF_LONG)) {
/* Help register allocation */
- register const char *_s = s;
- register STRINGLIB_CHAR *_p = p;
+ const char *_s = s;
+ STRINGLIB_CHAR *_p = p;
while (_s < aligned_end) {
/* Read a whole long at a time (either 4 or 8 bytes),
and do a fast unrolled copy if it only contains ASCII
@@ -499,7 +499,7 @@
reads are more expensive, better to defer to another iteration. */
if (_Py_IS_ALIGNED(q, SIZEOF_LONG)) {
/* Fast path for runs of in-range non-surrogate chars. */
- register const unsigned char *_q = q;
+ const unsigned char *_q = q;
while (_q < aligned_end) {
unsigned long block = * (unsigned long *) _q;
if (native_ordering) {
diff --git a/Objects/stringlib/eq.h b/Objects/stringlib/eq.h
index 8e79a43..4ad6dc0 100644
--- a/Objects/stringlib/eq.h
+++ b/Objects/stringlib/eq.h
@@ -6,8 +6,8 @@
Py_LOCAL_INLINE(int)
unicode_eq(PyObject *aa, PyObject *bb)
{
- register PyUnicodeObject *a = (PyUnicodeObject *)aa;
- register PyUnicodeObject *b = (PyUnicodeObject *)bb;
+ PyUnicodeObject *a = (PyUnicodeObject *)aa;
+ PyUnicodeObject *b = (PyUnicodeObject *)bb;
if (PyUnicode_READY(a) == -1 || PyUnicode_READY(b) == -1) {
assert(0 && "unicode_eq ready fail");
diff --git a/Objects/stringlib/find_max_char.h b/Objects/stringlib/find_max_char.h
index 06559c8..eb3fe88 100644
--- a/Objects/stringlib/find_max_char.h
+++ b/Objects/stringlib/find_max_char.h
@@ -24,7 +24,7 @@
while (p < end) {
if (_Py_IS_ALIGNED(p, SIZEOF_LONG)) {
/* Help register allocation */
- register const unsigned char *_p = p;
+ const unsigned char *_p = p;
while (_p < aligned_end) {
unsigned long value = *(unsigned long *) _p;
if (value & UCS1_ASCII_CHAR_MASK)
@@ -66,7 +66,7 @@
#else
#error Invalid STRINGLIB_SIZEOF_CHAR (must be 1, 2 or 4)
#endif
- register Py_UCS4 mask;
+ Py_UCS4 mask;
Py_ssize_t n = end - begin;
const STRINGLIB_CHAR *p = begin;
const STRINGLIB_CHAR *unrolled_end = begin + _Py_SIZE_ROUND_DOWN(n, 4);
diff --git a/Objects/stringlib/split.h b/Objects/stringlib/split.h
index 947dd28..31f77a7 100644
--- a/Objects/stringlib/split.h
+++ b/Objects/stringlib/split.h
@@ -345,8 +345,8 @@
and the appends only done when the prealloc buffer is full.
That's too much work for little gain.*/
- register Py_ssize_t i;
- register Py_ssize_t j;
+ Py_ssize_t i;
+ Py_ssize_t j;
PyObject *list = PyList_New(0);
PyObject *sub;
diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c
index 52896b7..a33d8c0 100644
--- a/Objects/tupleobject.c
+++ b/Objects/tupleobject.c
@@ -63,9 +63,9 @@
}
PyObject *
-PyTuple_New(register Py_ssize_t size)
+PyTuple_New(Py_ssize_t size)
{
- register PyTupleObject *op;
+ PyTupleObject *op;
Py_ssize_t i;
if (size < 0) {
PyErr_BadInternalCall();
@@ -122,7 +122,7 @@
}
Py_ssize_t
-PyTuple_Size(register PyObject *op)
+PyTuple_Size(PyObject *op)
{
if (!PyTuple_Check(op)) {
PyErr_BadInternalCall();
@@ -133,7 +133,7 @@
}
PyObject *
-PyTuple_GetItem(register PyObject *op, register Py_ssize_t i)
+PyTuple_GetItem(PyObject *op, Py_ssize_t i)
{
if (!PyTuple_Check(op)) {
PyErr_BadInternalCall();
@@ -147,10 +147,10 @@
}
int
-PyTuple_SetItem(register PyObject *op, register Py_ssize_t i, PyObject *newitem)
+PyTuple_SetItem(PyObject *op, Py_ssize_t i, PyObject *newitem)
{
- register PyObject *olditem;
- register PyObject **p;
+ PyObject *olditem;
+ PyObject **p;
if (!PyTuple_Check(op) || op->ob_refcnt != 1) {
Py_XDECREF(newitem);
PyErr_BadInternalCall();
@@ -224,10 +224,10 @@
/* Methods */
static void
-tupledealloc(register PyTupleObject *op)
+tupledealloc(PyTupleObject *op)
{
- register Py_ssize_t i;
- register Py_ssize_t len = Py_SIZE(op);
+ Py_ssize_t i;
+ Py_ssize_t len = Py_SIZE(op);
PyObject_GC_UnTrack(op);
Py_TRASHCAN_SAFE_BEGIN(op)
if (len > 0) {
@@ -330,10 +330,10 @@
static Py_hash_t
tuplehash(PyTupleObject *v)
{
- register Py_uhash_t x; /* Unsigned for defined overflow behavior. */
- register Py_hash_t y;
- register Py_ssize_t len = Py_SIZE(v);
- register PyObject **p;
+ Py_uhash_t x; /* Unsigned for defined overflow behavior. */
+ Py_hash_t y;
+ Py_ssize_t len = Py_SIZE(v);
+ PyObject **p;
Py_uhash_t mult = _PyHASH_MULTIPLIER;
x = 0x345678UL;
p = v->ob_item;
@@ -370,7 +370,7 @@
}
static PyObject *
-tupleitem(register PyTupleObject *a, register Py_ssize_t i)
+tupleitem(PyTupleObject *a, Py_ssize_t i)
{
if (i < 0 || i >= Py_SIZE(a)) {
PyErr_SetString(PyExc_IndexError, "tuple index out of range");
@@ -381,12 +381,12 @@
}
static PyObject *
-tupleslice(register PyTupleObject *a, register Py_ssize_t ilow,
- register Py_ssize_t ihigh)
+tupleslice(PyTupleObject *a, Py_ssize_t ilow,
+ Py_ssize_t ihigh)
{
- register PyTupleObject *np;
+ PyTupleObject *np;
PyObject **src, **dest;
- register Py_ssize_t i;
+ Py_ssize_t i;
Py_ssize_t len;
if (ilow < 0)
ilow = 0;
@@ -423,10 +423,10 @@
}
static PyObject *
-tupleconcat(register PyTupleObject *a, register PyObject *bb)
+tupleconcat(PyTupleObject *a, PyObject *bb)
{
- register Py_ssize_t size;
- register Py_ssize_t i;
+ Py_ssize_t size;
+ Py_ssize_t i;
PyObject **src, **dest;
PyTupleObject *np;
if (!PyTuple_Check(bb)) {
@@ -836,8 +836,8 @@
int
_PyTuple_Resize(PyObject **pv, Py_ssize_t newsize)
{
- register PyTupleObject *v;
- register PyTupleObject *sv;
+ PyTupleObject *v;
+ PyTupleObject *sv;
Py_ssize_t i;
Py_ssize_t oldsize;
diff --git a/Objects/unicodectype.c b/Objects/unicodectype.c
index a572c12..ea540d6 100644
--- a/Objects/unicodectype.c
+++ b/Objects/unicodectype.c
@@ -61,7 +61,7 @@
/* Returns the titlecase Unicode characters corresponding to ch or just
ch if no titlecase mapping is known. */
-Py_UCS4 _PyUnicode_ToTitlecase(register Py_UCS4 ch)
+Py_UCS4 _PyUnicode_ToTitlecase(Py_UCS4 ch)
{
const _PyUnicode_TypeRecord *ctype = gettyperecord(ch);
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 2f437f6..f1d687a 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -873,7 +873,7 @@
static PyUnicodeObject *
_PyUnicode_New(Py_ssize_t length)
{
- register PyUnicodeObject *unicode;
+ PyUnicodeObject *unicode;
size_t new_size;
/* Optimization for empty strings */
@@ -1557,7 +1557,7 @@
}
static void
-unicode_dealloc(register PyObject *unicode)
+unicode_dealloc(PyObject *unicode)
{
switch (PyUnicode_CHECK_INTERNED(unicode)) {
case SSTATE_NOT_INTERNED:
@@ -2287,7 +2287,7 @@
#ifdef HAVE_WCHAR_H
PyObject *
-PyUnicode_FromWideChar(register const wchar_t *w, Py_ssize_t size)
+PyUnicode_FromWideChar(const wchar_t *w, Py_ssize_t size)
{
if (w == NULL) {
if (size == 0)
@@ -2898,7 +2898,7 @@
}
PyObject *
-PyUnicode_FromObject(register PyObject *obj)
+PyUnicode_FromObject(PyObject *obj)
{
/* XXX Perhaps we should make this API an alias of
PyObject_Str() instead ?! */
@@ -2920,7 +2920,7 @@
}
PyObject *
-PyUnicode_FromEncodedObject(register PyObject *obj,
+PyUnicode_FromEncodedObject(PyObject *obj,
const char *encoding,
const char *errors)
{
@@ -4653,9 +4653,9 @@
if (_Py_IS_ALIGNED(p, SIZEOF_LONG)) {
/* Fast path, see in STRINGLIB(utf8_decode) for
an explanation. */
- /* Help register allocation */
- register const char *_p = p;
- register Py_UCS1 * q = dest;
+ /* Help allocation */
+ const char *_p = p;
+ Py_UCS1 * q = dest;
while (_p < aligned_end) {
unsigned long value = *(const unsigned long *) _p;
if (value & ASCII_CHAR_MASK)
@@ -4678,8 +4678,8 @@
/* Fast path, see in STRINGLIB(utf8_decode) in stringlib/codecs.h
for an explanation. */
if (_Py_IS_ALIGNED(p, SIZEOF_LONG)) {
- /* Help register allocation */
- register const char *_p = p;
+ /* Help allocation */
+ const char *_p = p;
while (_p < aligned_end) {
unsigned long value = *(unsigned long *) _p;
if (value & ASCII_CHAR_MASK)
@@ -6513,7 +6513,7 @@
s += writer.pos;
kind = writer.kind;
while (s < e) {
- register unsigned char c = (unsigned char)*s;
+ unsigned char c = (unsigned char)*s;
if (c < 128) {
PyUnicode_WRITE(kind, data, writer.pos, c);
writer.pos++;
@@ -14621,7 +14621,7 @@
void
PyUnicode_InternInPlace(PyObject **p)
{
- register PyObject *s = *p;
+ PyObject *s = *p;
PyObject *t;
#ifdef Py_DEBUG
assert(s != NULL);
@@ -14954,7 +14954,7 @@
int
Py_UNICODE_strncmp(const Py_UNICODE *s1, const Py_UNICODE *s2, size_t n)
{
- register Py_UNICODE u1, u2;
+ Py_UNICODE u1, u2;
for (; n != 0; n--) {
u1 = *s1;
u2 = *s2;
diff --git a/Objects/unicodetype_db.h b/Objects/unicodetype_db.h
index 1009bb3..57add8f 100644
--- a/Objects/unicodetype_db.h
+++ b/Objects/unicodetype_db.h
@@ -4278,7 +4278,7 @@
/* Returns 1 for Unicode characters having the bidirectional
* type 'WS', 'B' or 'S' or the category 'Zs', 0 otherwise.
*/
-int _PyUnicode_IsWhitespace(register const Py_UCS4 ch)
+int _PyUnicode_IsWhitespace(const Py_UCS4 ch)
{
switch (ch) {
case 0x0009:
@@ -4320,7 +4320,7 @@
* property 'BK', 'CR', 'LF' or 'NL' or having bidirectional
* type 'B', 0 otherwise.
*/
-int _PyUnicode_IsLinebreak(register const Py_UCS4 ch)
+int _PyUnicode_IsLinebreak(const Py_UCS4 ch)
{
switch (ch) {
case 0x000A: