Thomas Wouters
b8f81d4863
Add missing DECREF to PyErr_WriteUnraisable(). That function reports
...
exceptions that can't be raised any further, because (for instance) they
occur in __del__ methods. The coroutine tests in test_generators was
triggering this leak. Remove the leakers' testcase, and add a simpler
testcase that explicitly tests this leak to test_generators.
test_generators now no longer leaks at all, on my machine. This fix may also
solve other leaks, but my full refleakhunting run is still busy, so who
knows?
2006-04-15 23:27:28 +00:00
Thomas Wouters
c6e55068ca
Use Py_VISIT in all tp_traverse methods, instead of traversing manually or
...
using a custom, nearly-identical macro. This probably changes how some of
these functions are compiled, which may result in fractionally slower (or
faster) execution. Considering the nature of traversal, visiting much of the
address space in unpredictable patterns, I'd argue the code readability and
maintainability is well worth it ;P
2006-04-15 21:47:09 +00:00
Martin v. Löwis
ab0e284a24
Zap ZAP.
2006-04-15 18:14:21 +00:00
Thomas Wouters
edf17d8798
Use Py_CLEAR instead of in-place DECREF/XDECREF or custom macros, for
...
tp_clear methods.
2006-04-15 17:28:34 +00:00
Martin v. Löwis
841747cb56
Fix sys.getobjects(0): we get a reference to the
...
arena's "private" list of objects, so there might
be two references to that list.
2006-04-15 12:46:09 +00:00
Martin v. Löwis
5cb6936672
Make Py_BuildValue, PyObject_CallFunction and
...
PyObject_CallMethod aware of PY_SSIZE_T_CLEAN.
2006-04-14 09:08:42 +00:00
Neal Norwitz
615461603c
SF Bug #1454485 , array.array('u') could crash the interpreter when
...
passing a string. Martin already fixed the actual crash by ensuring
Py_UNICODE is unsigned. As discussed on python-dev, this fix
removes the possibility of creating a unicode string from a raw buffer.
There is an outstanding question of how to fix the crash in 2.4.
2006-04-14 05:20:28 +00:00
Neal Norwitz
8c0dc84398
ALIGNMENT_SHIFT is not used
2006-04-14 03:53:34 +00:00
Martin v. Löwis
da69041123
Force 8-alignment of memory blocks, as needed on
...
64-bit machines that require pointers to be aligned (e.g. IA64)
2006-04-13 19:16:13 +00:00
Martin v. Löwis
f33dea2961
Fix type errors.
2006-04-13 13:08:58 +00:00
Martin v. Löwis
0cc56e5c59
Introduce asdl_int_seq, to hold cmpop_ty.
2006-04-13 12:29:43 +00:00
Skip Montanaro
869bacd465
revert - breaks build of Python/ast.c w/ gcc
2006-04-13 09:48:28 +00:00
Skip Montanaro
b940671186
Use union to discriminate pointer types from enum/int types.
2006-04-13 09:37:01 +00:00
Georg Brandl
7f573f7319
Add a test for Py_ssize_t. Correct typo in getargs.c.
2006-04-13 07:59:30 +00:00
Martin v. Löwis
b1ed7fac12
Replace INT_MAX with PY_SSIZE_T_MAX.
2006-04-13 07:52:27 +00:00
Anthony Baxter
ac6bd46d5c
spread the extern "C" { } magic pixie dust around. Python itself builds now
...
using a C++ compiler. Still lots and lots of errors in the modules built by
setup.py, and a bunch of warnings from g++ in the core.
2006-04-13 02:06:09 +00:00
Anthony Baxter
d691f1a35f
casting nastiness to make C++ compiler happy
2006-04-13 01:23:28 +00:00
Armin Rigo
e170937af6
Ignore the references to the dummy objects used as deleted keys
...
in dicts and sets when computing the total number of references.
2006-04-12 17:06:05 +00:00
Anthony Baxter
97300387ec
avoid C++ name mangling for the _Py.*SizeT functions
2006-04-12 04:38:54 +00:00
Anthony Baxter
019aec618a
Make symtable.c safe for C++ compilers. Changed macros in the same way as
...
compile.c to add a cast.
2006-04-12 04:00:50 +00:00
Anthony Baxter
2c33fc77fe
per Jeremy's email, remove the _WITH_CAST versions of macros. g++
...
still has errors from the casts of asdl_seq_GET to cmpop_ty, but
otherwise it's C++ clean.
2006-04-12 00:43:09 +00:00
Thomas Wouters
ced6cddc03
Part two of the fix for SF bug #1466641 : Regenerate graminit.c and add test
...
for the bogus failure.
2006-04-12 00:07:59 +00:00
Anthony Baxter
64182fe0b3
Some more changes to make code compile under a C++ compiler.
2006-04-11 12:14:09 +00:00
Anthony Baxter
7b782b61c5
more low-hanging fruit to make code compile under a C++ compiler. Not
...
entirely happy with the two new VISIT macros in compile.c, but I
couldn't see a better approach.
2006-04-11 12:01:56 +00:00
Martin v. Löwis
2845750c5b
Convert 0 to their respective enum types. Convert
...
void* to their respective _ty types. Fix signature of
ast_for_exprlist.
2006-04-11 09:17:27 +00:00