On Fri, Oct 28, 2016 at 10:51 PM, Julia Lawall <[email protected]> wrote:
>
>
> On Fri, 28 Oct 2016, Myles Watson wrote:
>
> > 1. Missing comments:
> >
> > I was using this cocci file to remove uses of the UNUSED macro, and
> noticed
> > that it also removes comments around the macro.
> >
> > 2. Attribute parsing:
> > I know that GETRIDOFTHISCOMMA, is a hack, but I couldn't figure out how
> to
> > add UNUSED_ATTR to the declaration.
>
> Thanks for the report. The comment should not be removed. It should only
> be removing comments inside code that is completely removed. Perhaps
> comments before removed code too, but not after. I will look into this.
>
Thanks for the quick response!
>
> Nothing is supported for adding new attributes either, but it could be. I
> will also look into this.
>
> Your Coccinelle is quite out of date as well. To get the fixes, you'll
> need to install the github version.
>
Sounds good.
Thanks,
Myles
>
> julia
>
> >
> > Thanks,
> > Myles
> >
> > output:
> > $ spatch --version
> > spatch version 1.0.0-rc19 with Python support and with PCRE support
> >
> > ...
> >
> > with isos from: /usr/share/coccinelle/standard.iso
> > -----------------------------------------------------------------------
> > @r1@
> > identifier arg;
> > identifier fn;
> > type t;
> > parameter list[n] P;
> > @@
> >
> > fn(P, t arg) { ...
> > UNUSED(arg);
> > ...
> > }
> >
> > @depends on r1@
> > identifier r1.arg;
> > identifier r1.fn;
> > type r1.t;
> > parameter list[r1.n] r1.P;
> > typedef UNUSED_ATTR;
> > @@
> >
> > fn(P,
> > - t arg
> > + UNUSED_ATTR GETRIDOFTHISCOMMA, t arg
> > ) { ...
> > -UNUSED(arg);
> > ...
> > }
> >
> >
> > HANDLING: test.c
> > -----------------------------------------------------------------------
> > let's go
> > -----------------------------------------------------------------------
> > -----------------------------------------------------------------------
> > -----------------------------------------------------------------------
> > r1 =
> > -----------------------------------------------------------------------
> > dependencies for rule r1 satisfied:
> > binding in = []
> > binding relevant in = []
> > transformation info is empty
> > binding out = [r1.fn --> id SomeFunc;r1.P --> <<paramlist>>;r1.n
> --> 0;
> > r1.t --> int;r1.arg --> id foo]
> > -----------------------------------------------------------------------
> > rule starting on line 13 =
> > -----------------------------------------------------------------------
> > dependencies for rule rule starting on line 13 satisfied:
> > r1 satisfied
> > binding in = [r1.P --> <<paramlist>>;r1.arg --> id foo;r1.fn --> id
> > SomeFunc;
> > r1.n --> 0;r1.t --> int]
> > binding relevant in = [r1.P --> <<paramlist>>;r1.arg --> id foo;
> > r1.fn --> id SomeFunc;r1.n --> 0;r1.t --> int]
> > transformation info returned:
> > transform state: 1
> > with rule_elem: r1:fn(r1:P-r1:t
> > >>> UNUSED_ATTR GETRIDOFTHISCOMMA,
> > r1:t r1:arg
> > -r1:arg)
> > with binding: [r1.P --> <<paramlist>>;r1.arg --> id foo;
> > r1.fn --> id SomeFunc;r1.n --> 0;r1.t -->
> int]
> > transform state: 6
> > with rule_elem: -UNUSED-(-r1:arg-)-;
> > with binding: [r1.P --> <<paramlist>>;r1.arg --> id foo;
> > r1.fn --> id SomeFunc;r1.n --> 0;r1.t -->
> int]
> > binding out = []
> > transform one node: 6
> > transform one node: 1
> > 5: ERASING_COMMENTS: /* to be implemented */
> > -----------------------------------------------------------------------
> > proto for rule starting on line 13 =
> > -----------------------------------------------------------------------
> > dependencies for rule proto for rule starting on line 13 satisfied:
> > rule starting on line 13 satisfied
> > binding in = [r1.P --> <<paramlist>>;r1.arg --> id foo;r1.fn --> id
> > SomeFunc;
> > r1.n --> 0;r1.t --> int]
> > binding relevant in = [r1.P --> <<paramlist>>;r1.arg --> id foo;
> > r1.fn --> id SomeFunc;r1.n --> 0;r1.t --> int]
> > -----------------------------------------------------------------------
> > Finished
> > -----------------------------------------------------------------------
> > diff =
> > --- test.c
> > +++ /tmp/cocci-output-7586-ec1ff0-test.c
> > @@ -1,8 +1,5 @@
> > -bool SomeFunc(int foo)
> > +bool SomeFunc(UNUSED_ATTR GETRIDOFTHISCOMMA, int foo)
> > {
> > - UNUSED(foo);
> > -
> > - /* to be implemented */
> > return true;
> > }
> >
> > Check duplication for 1 files
> >
> >
> >
> >
> >
>
_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci