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

Reply via email to