On Oct 1, 2008, at 6:42 PM, Lisandro Dalcin wrote:

> Robert, in this changeset
>
> changeset:   1184:515f94dc16f2
> user:        Robert Bradshaw <[EMAIL PROTECTED]>
> date:        Mon Sep 29 19:08:45 2008 -0700
> summary:     Refactoring of type parsing
>
> you cannot parse C function typedef like this:
>
> cdef extern from *:
>     void (somefunc)(int)
>
> Please note that this declaration is not of the form "void
> (*somefuncptr)(int)", and AFAIK the former is valid C code.

Does it have the same meaning, or is there something more subtle  
going on? We don't accept all valid C code, for example

     int foo(void)

is allowed in C but not in Cython.

> I was looking at the changes you pushed, but I was unable to discover
> what's going on. So I really need your help here.

I needed to remove the dependancy the parser had on knowing all type  
names, so in some places it needs to look ahead to determine if it's  
looking at a type or an expression. If this is the only bug  
introduced, than I'm willing to accept that, but are there other  
statements that are now illegal?

- Robert

_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to