On Wed, Jul 20, 2011 at 10:30 PM, Robert Bradshaw <rober...@math.washington.edu> wrote: > On Wed, Jul 20, 2011 at 9:40 PM, Vitja Makarov <vitja.maka...@gmail.com> > wrote: >> 2011/7/21 Robert Bradshaw <rober...@math.washington.edu>: >>> On Wed, Jul 20, 2011 at 9:27 PM, Vitja Makarov <vitja.maka...@gmail.com> >>> wrote: >>>> 2011/7/16 Lars Buitinck <l.j.buiti...@uva.nl>: >>>>> 2011/7/15 Vitja Makarov <vitja.maka...@gmail.com>: >>>>>> I've found strange bug. In my example cimport misses "fcntl.h" include: >>>>>> >>>>>> ((c2f2e12...)) vitja@vitja-laptop:~/work/cython-vitek/zzz$ cat ./fff.pyx >>>>>> cimport posix.unistd >>>>>> cimport posix.fcntl >>>>>> >>>>>> print posix.fcntl.O_RDWR >>>>> >>>>> Fascinating; I can reproduce the error (on Scientific Linux 5.5), but >>>>> it goes away when I reverse the order of the includes. >>>>> >>>> >>>> What's about this issue? Is that easy to fix before release or it's >>>> better to create a ticket? >>> >>> I'm not sure what we can do here--we make sure to emit the #include >>> statements in the same order as they are encountered in the Cython >>> sources because C is sensitive to this kind of thing, but we can't >>> really "fix" C. I suppose we could cimport posix.fcntl from within >>> posix.unistd to force an ordering. >>> >> >> That's not C bug. That's cython bug. Actualy fcntl.h isn't included at all. >> That seems to be a problem with cimport and packages. >> >> As I said "from posix cimport unistd, fcntl" works just fine. > > I thought you meant that > > cimport posix.fcntl > cimport posix.unistd > > worked but > > cimport posix.unistd > cimport posix.fcntl > > didn't. I'm seeing the bug now. (There are of course cases where one > does care about import order.)
https://github.com/cython/cython/commit/55d5e576935d83c6bdadc593e36793aecffe0bae _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel