Hi,

I noticed that the new-style temps do not currently generate XDECREF code
at the standard function error label. Neither are they considered for
DECREF cleanup by the return statement.

For testing, I let ExprNodes.SequenceNode (i.e. TupleNode and ListNode)
inherit from NewTempExprNode, which works quite well, but induces the
following behaviour.

When I add DECREF cleanup code to the return statement, the test suite
passes just like before (I'm sure 'return' inside of control structures is
not backed by enough tests, though). However, when I add the temp cleanup
code to the error label, it crashes the failure tests in bufaccess.pyx.

I wouldn't know why this kind of error cleanup should not be needed for
new-style temps, so I'm not sure if it's just plain wrong from my side to
put it there because of some reason I'm not aware of, or if I stumbled over
a hidden bug here.

Any comments on why it might be wrong to clean up new-style temps the same
way as old-style temps?

Stefan
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to