Mercurial > cpython-lru_cache-weakref
diff Python/compile.c @ 23211:e16dbf875303 legacy-trunk
Moving pymalloc along.
+ Redirect PyMem_{Del, DEL} to the object allocator's free() when
pymalloc is enabled. Needed so old extensions can continue to
mix PyObject_New with PyMem_DEL.
+ This implies that pgen needs to be able to see the PyObject_XYZ
declarations too. pgenheaders.h now includes Python.h. An
implication is that I expect obmalloc.o needs to get linked into
pgen on non-Windows boxes.
+ When PYMALLOC_DEBUG is defined, *all* Py memory API functions
now funnel through the debug allocator wrapper around pymalloc.
This is the default in a debug build.
+ That caused compile.c to fail: it indirectly mixed PyMem_Malloc
with raw platform free() in one place. This is verbotten.
| author | Tim Peters <tim.peters@gmail.com> |
|---|---|
| date | Mon, 22 Apr 2002 02:33:27 +0000 |
| parents | 3e892582a850 |
| children | 9e22a8702de2 |
line wrap: on
line diff
--- a/Python/compile.c Mon Apr 22 00:42:42 2002 +0000 +++ b/Python/compile.c Mon Apr 22 02:33:27 2002 +0000 @@ -1954,7 +1954,7 @@ return; } if (childtype == MINUS) { - char *s = malloc(strlen(STR(pnum)) + 2); + char *s = PyMem_Malloc(strlen(STR(pnum)) + 2); if (s == NULL) { com_error(c, PyExc_MemoryError, ""); com_addbyte(c, 255); @@ -1962,7 +1962,7 @@ } s[0] = '-'; strcpy(s + 1, STR(pnum)); - free(STR(pnum)); + PyMem_Free(STR(pnum)); STR(pnum) = s; } com_atom(c, patom);
