From: Roberto B. <ba...@cs...> - 2006-02-25 14:12:55
|
Matt Harren wrote: > Here's a patch. > > Thanks, > Matt > > --- src/cil.ml 23 Feb 2006 04:49:31 -0000 1.531 > +++ src/cil.ml 24 Feb 2006 22:38:15 -0000 > @@ -3531,13 +3531,14 @@ > | GEnumTag (enum, l) -> > self#pLineDirective l ++ > text "enum" ++ align ++ text (" " ^ enum.ename) ++ > - self#pAttrs () enum.eattr ++ text " {" ++ line > + text " {" ++ line > ++ (docList ~sep:(chr ',' ++ line) > (fun (n,i, loc) -> > text (n ^ " = ") > ++ self#pExp () i) > () enum.eitems) > - ++ unalign ++ line ++ text "};\n" > + ++ unalign ++ line ++ text "} " > + ++ self#pAttrs () enum.eattr ++ text";\n" > > | GEnumTagDecl (enum, l) -> (* This is a declaration of a tag *) > self#pLineDirective l ++ Thanks Matt. A related problem is that cilly does not allow attributes on compound declarations. Here is how to reproduce the problem: $ cat bug.c struct __attribute__ ((__packed__)) s; typedef struct { int x1; short x2; short x3; } __attribute__ ((__packed__)) s; s foo; $ cilly -c bug.c gcc -D_GNUCC -E -DCIL=1 bug.c -o /tmp/cil-wB9kQUCD.i /home/roberto/eclair/cil/obj/x86_LINUX/cilly.asm.exe --out /tmp/cil-W3ZsqdlW.cil.c /tmp/cil-wB9kQUCD.i bug.c[1:37-38] : syntax error Parsing error Fatal error: exception Frontc.ParseError("Parse error") $ gcc -c -Wall -W -pedantic bug.c $ All the best, Roberto -- Prof. Roberto Bagnara Computer Science Group Department of Mathematics, University of Parma, Italy http://www.cs.unipr.it/~bagnara/ mailto:ba...@cs... |