Stefan Behnel wrote: > Hi, > > Dag Sverre Seljebotn wrote: >> Note that the current -devel could be released for what I know, except >> for the things that are already noted, there's no rush as the systems >> work together. > > There's one remaining problem with the for loop. It seems that in certain > cases (at least in lxml, haven't got a trivial test case yet) it crashes > due to multiple allocation of the same temp. I pasted the generated code > section below, note how __pyx_t_4 is used. There's also an inner loop > involved, which I left out here. Funny enough, it also uses __pyx_t_4 to > store the iterator.
I couldn't provoke the exact same thing but at least found something similar. See http://hg.cython.org/cython-devel/rev/fe390f717039 In general it seems like all calls to generate_disposal_code must be looked at manually when converting a class to see what their intention is, and rewrite to the appropriate "two-staged disposal" manually. If you have a look through the rest of TupleNode I think you'll solve the problems... I can see why you wanted a seperate free_temps, but, well, passing decref=False is the exactly same thing, we can always change it later with search&replace. -- Dag Sverre _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
