It doesn't seem to allow disjunctions in structure declaration 
initializers.  Can you make two rules?  The .X = Y, notation is fine.  You 
should always put the terminating comma.

julia


On Fri, 24 Sep 2010, Greg McGary wrote:

>  Any clues about this?
> 
> Consider this:
> 
> @ ioctl_ref @
> identifier fops_id;
> identifier ioctl_id;
> @@
> struct file_operations fops_id  = {
>     ...
> (
>     .unlocked_ioctl
> |
>     .compat_ioctl
> )
>     = ioctl_id,
>     ...
> };
> 
> spatch barfs like so:
> 
> init_defs_builtins: /usr/share/coccinelle/standard.h
> Fatal error: exception Failure("minus: parse error:
>  = File "/home/gnu/linux-2.6/ioctl-5.cocci", line 10, column 1,  charpos = 112
>     around = '.', whole content =       .unlocked_ioctl
> ")
> 
> OK, so it doesn't understand named-member struct initializers.  Maybe I could 
> drop the "." it doesn't like:
> 
> @ ioctl_ref @
> identifier fops_id;
> identifier ioctl_id;
> @@
> struct file_operations fops_id  = {
>     ...
> (
>     unlocked_ioctl
> |
>     compat_ioctl
> )
>     ioctl_id,
>     ...
> };
> 
> no such luck:
> 
> init_defs_builtins: /usr/share/coccinelle/standard.h
> Fatal error: exception Failure("minus: parse error:
>  = File "/home/gnu/linux-2.6/ioctl-5.cocci", line 14, column 1,  charpos = 146
>     around = 'ioctl_id', whole content =        ioctl_id,
> ")
> 
> _______________________________________________
> Cocci mailing list
> [email protected]
> http://lists.diku.dk/mailman/listinfo/cocci
> (Web access from inside DIKUs LAN only)
> 
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)

Reply via email to