Problem solved. I will make a new rc in a few days, but inthe meantime
here is a patch.
julia
diff -u -p a/parsing_cocci/parser_cocci_menhir.mly
b/parsing_cocci/parser_cocci_menhir.mly
+++ a/parsing_cocci/parser_cocci_menhir.mly
+++ b/parsing_cocci/parser_cocci_menhir.mly
@@ -577,9 +577,9 @@ non_signable_types:
then failwith "enums must be named in the iso file");
Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) }
-| s=struct_or_union i=type_ident // allow typedef name
+| s=struct_or_union i=ident
{ Ast0.wrap(Ast0.StructUnionName(s, Some i)) }
-| s=struct_or_union i=ioption(type_ident)
+| s=struct_or_union i=ioption(ident)
l=TOBrace d=struct_decl_list r=TCBrace
{ (if i = None && !Data.in_iso
then failwith "structures must be named in the iso file");
@@ -1786,14 +1786,6 @@ ident: pure_ident
{ Ast0.wrap(Ast0.Id(P.id2mcode $1)) }
| TMetaId
{ let (nm,constraints,pure,clt) = $1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) }
-
-type_ident: pure_ident
- { Ast0.wrap(Ast0.Id(P.id2mcode $1)) }
- | TTypeId
- { Ast0.wrap(Ast0.Id(P.id2mcode $1)) }
- | TMetaId
- { let (nm,constraints,pure,clt) = $1 in
Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) }
decl_ident:
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)