On 24 January 2012 11:37, Konrad Hinsen <[email protected]> wrote:
> Compiling the attached Cython file produced the attached C file which
> has errors in lines 532-534:
>
>  __pyx_v_self->xx = None;
>  __pyx_v_self->yy = None;
>  __pyx_v_self->zz = None;
>
> There is no C symbol "None", so this doesn't compile.
>
> I first noticed the bug in Cython 0.15, but it's still in the latest
> revision from Github.
>
> Konrad.
>
> _______________________________________________
> cython-devel mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/cython-devel
>

Hm, it seems the problem is that the call to the builtin float results
in SimpleCallNode being replaced with PythonCApiNode, which then
generates the result code, but the list of coerced nodes are
CloneNodes of the original rhs, and CloneNode does not generate the
result code of the original rhs (i.e. allocate and assign to a temp),
which results in a None result.

Maybe CascadedAssignmentNode should replace CloneNode.arg with the
latest self.rhs in generate_assignment_code? I'm not entirely sure.
_______________________________________________
cython-devel mailing list
[email protected]
http://mail.python.org/mailman/listinfo/cython-devel

Reply via email to