[Cocci] Moving a function body to an other source code place with SmPL

Julia Lawall julia.lawall at lip6.fr
Mon May 14 17:15:58 CEST 2018

On Mon, 14 May 2018, SF Markus Elfring wrote:

> >> It would be occasionally nice if an implementation of a function could be
> >> completely stored into a metavariable.
> >> Is a statement list variable appropriate for this use case?
> >
> > Yes.
> Thanks for your acknowledgement that it should usually work.
> I have noticed a moment ago that a blank line is not marked by the SmPL
> asterisk operator (for a small source code example) so far.
> Can such whitespace characters be also preserved there anyhow?

No.  Whitespace is never preserved in metavariables.

> >> Can these data be moved to an other function (or macro definition)?
> >
> > Yes.  A statement list variable can be added anywhere a list of statements
> > is allowed, ie not necessarily as the complete body of a block.
> How will the software behaviour evolve if I stumble on the message
> “Fatal error: exception Coccinelle_modules.Common.Timeout” after passing
> the parameter “--timeout 123” for a change attempt with a C++ source file?
> (Am I too impatient here?)

No evolution is planned.  I see no reason why matching the body of a
function should intrinsically cause a timeout.


More information about the Cocci mailing list