Robert Bradshaw wrote: > On Nov 2, 2009, at 11:53 AM, Dag Sverre Seljebotn wrote: > >> Robert Bradshaw wrote: >>> On Oct 28, 2009, at 8:39 AM, Dag Sverre Seljebotn wrote: >>> >>>> I just added http://trac.cython.org/cython_trac/ticket/441 >>>> >>>> Basically, >>>> >>>> ctypedef float myfloat; >>>> ... >>>> print some_myfloat * some_complex >>>> >>>> miscompiles as "some_myfloat" is coerced to "myfloat >>>> complex" (which, >>>> interestingly, is a type which can't be created or used in any other >>>> way!) >>>> >>>> Fixing this requires some thought. >>>> >>>> This probably broke because (in order to fix another bug) I stepped >>>> away >>>> from "the order something is needed in Cython decides output order >>>> in >>>> C". I believe that was a correct decision and don't want to step >>>> back. >>>> The proper solution is a DAG of all types and their dependencies. I >>>> believe that is a bit heavy/destabilizing for 0.12 though. Perhaps >>>> output all very simply typedefs (typedefs of ints and floats) first, >>>> then complex, then the rest? >>> Yep, I don't see the full DAG analysis happening in 0.12. I think any >>> arbitrary order we come up with is potentially prone to errors. I'm >>> OK >>> with just disallowing that for 0.12, it's not a regression. >> OK, I disabled it as I likely won't have time for a proper fix: >> >> http://hg.cython.org/cython-devel/rev/c6a27fd42d87 > > Thanks. I'm still hoping to get an alpha out very soon... There's > another regression, "cdef int complex" doesn't work anymore (our > structs used to support this, as does gcc, even if it's non-c99).
Turns out this broke nearly all my own code :-( I'll give a proper solution a go. -- Dag Sverre _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
