[Cocci] perhaps a bug

Julia Lawall julia.lawall at lip6.fr
Sun Apr 29 16:00:21 CEST 2018



On Sun, 29 Apr 2018, Robert Larice wrote:

> Julia Lawall <julia.lawall at lip6.fr> writes:
>
> > On Sun, 29 Apr 2018, Robert Larice wrote:
> >
> >> Julia Lawall <julia.lawall at lip6.fr> writes:
> >>
> >> > On Sun, 29 Apr 2018, Robert Larice wrote:
> >> >
> >> >> Hello,
> >> >>
> >> >>   attached is a small example which does something strange
> >> >>     to a  "int i, j;" within a "#ifdef..."
> >> >>   Perhaps this points to a bug in coccinelle,
> >> >>   Would you please check ?
> >> >
> >> > Thanks for the report.  It looks like a bug.  But everything is fine if
> >> > you removed the --defined BOO.
> >> >
> >> > julia
> >>
> >> Yes, in this example it works without this --defined announcement.
> >>
> >> I stumbled on this with something more complex, which for some
> >>  reason I don't understand yet ignores a wanted transformation
> >>  in a #ifdef..#endif, except if I add such a --defined.
> >> Only then it honours my transformation, but fails with this bug.
> >
> > I don't think the --defined option has been tested much.  Perhaps without
> > the --defined there is a parse error on the function.
> >
> > julia
>
> Hello Julia,
>
>   I've attached a ripped down example to show the behaviour
>     with regard to the #ifdef
>   Without the --defined, nothing gets tranformed.
>   I don't see a parsing problem so far.
>   Perhaps you can have a look and get an idea why
>     here the --defined is important.
>   I've seen other transformations where this was not necessairy.

Thanks.  Coccinelle doesn't show parsing problems by default.  You can see
them with spatch --parse-c foo.c or with the --verbose-parsing option.

julia

>
> Best Regards,
>   Robert
>
>


More information about the Cocci mailing list