On Tue, Feb 10, 2009 at 12:22 PM, Dag Sverre Seljebotn <[email protected]> wrote: >> > Ah. Yes, I noticed, but after commenting on the ticket. So apparently it > is NOT a C++-only issue, but something much more strange going on ... >
Indeed. It seems Cython 'memoizes' counters for a module context, then if you compile twice, the counters are not reinitialized. Or somethig like that.... You know, module or class level globals could be rally evil :-) ... $ cd Cython/Compiler/ $ find . -type f -print0 | xargs -0 -e grep -nH -e TemplateTransform.temp_name_counter ./ParseTreeTransforms.py:549: TemplateTransform.temp_name_counter += 1 ./ParseTreeTransforms.py:550: handle = "__tmpvar_%d" % TemplateTransform.temp_name_counter ./TreeFragment.py:122: TemplateTransform.temp_name_counter += 1 ./TreeFragment.py:123: handle = "__tmpvar_%d" % TemplateTransform.temp_name_counter Is the .temp_name_counter counter ever decremented? Could be this the root of the problem? -- Lisandro Dalcín --------------- Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC) Instituto de Desarrollo Tecnológico para la Industria Química (INTEC) Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET) PTLC - Güemes 3450, (3000) Santa Fe, Argentina Tel/Fax: +54-(0)342-451.1594 _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
