While ripping out the old temp system (yay!), I discovered the following
code in CEnumDefNode. I don't know much about the CPython API, but
there's no note in the docs that PyObject_SetAttrString eats a reference.
Is this a leak? (It's using a local temporary variable which is not
refnannied)
for item in self.entry.enum_values:
code.putln("%s = PyInt_FromLong(%s); %s" % (
temp,
item.cname,
code.error_goto_if_null(temp, item.pos)))
code.putln('if (__Pyx_SetAttrString(%s, "%s", %s) < 0)
%s' % (
Naming.module_cname,
item.name,
temp,
code.error_goto(item.pos)))
code.putln("%s = 0;" % temp)
--
Dag Sverre
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev