Index: Modules/_elementtree.c =================================================================== --- Modules/_elementtree.c (revision 84989) +++ Modules/_elementtree.c (working copy) @@ -693,7 +693,7 @@ } /* add object to memo dictionary (so deepcopy won't visit it again) */ - id = PyLong_FromLong((Py_uintptr_t) self); + id = PyLong_FromVoidPtr(self); if (!id) goto error; @@ -1219,7 +1219,7 @@ element_setitem(PyObject* self_, Py_ssize_t index, PyObject* item) { ElementObject* self = (ElementObject*) self_; - int i; + Py_ssize_t i; PyObject* old; if (!self->extra || index < 0 || index >= self->extra->length) { @@ -1369,7 +1369,7 @@ /* Resize before creating the recycle bin, to prevent refleaks. */ if (newlen > slicelen) { - if (element_resize(self, newlen - slicelen) < 0) { + if (element_resize(self, (int)(newlen - slicelen)) < 0) { if (seq) { Py_DECREF(seq); } @@ -1411,7 +1411,7 @@ self->extra->children[cur] = element; } - self->extra->length += newlen - slicelen; + self->extra->length += (int)(newlen - slicelen); if (seq) { Py_DECREF(seq); @@ -2073,7 +2073,7 @@ /* convert a UTF-8 tag/attribute name from the expat parser to a universal name string */ - int size = strlen(string); + Py_ssize_t size = strlen(string); PyObject* key; PyObject* value; @@ -2092,7 +2092,7 @@ PyObject* tag; char* p; - int i; + Py_ssize_t i; /* look for namespace separator */ for (i = 0; i < size; i++) @@ -2660,7 +2660,7 @@ } res = expat_parse( - self, PyBytes_AS_STRING(buffer), PyBytes_GET_SIZE(buffer), 0 + self, PyBytes_AS_STRING(buffer), (int)PyBytes_GET_SIZE(buffer), 0 ); Py_DECREF(buffer);