On Tue, 15 Oct 2019, Markus Elfring wrote:
> Hello,
>
> I have noticed that an update suggestion can be provided for
> a source file by a known script for the semantic patch language.
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/scripts/coccinelle/misc/returnvar.cocci?id=8e0d0ad206f08506c893326ca7c9c3d9cc042cef
>
> Update candidate:
> btrfs_destroy_delayed_refs()
> https://elixir.bootlin.com/linux/v5.4-rc2/source/fs/btrfs/disk-io.c#L4252
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/fs/btrfs/disk-io.c?id=0e9d28bc6c81f47f94979ec7d0ab6ac42345fcee#n4243
Why are there two links here to the same thing???
>
> I got the software development idea then to change the function return type
> to “void” together with the deletion of return statements by the help of
> the tool “Coccinelle 1.0.8-00004-g842075f7” instead of adjusting return
> values.
>
> @replacement@
> constant C;
> identifier action, rc;
> type T;
> @@
> static
> -T
> +void
> action(...)
> {
> -T rc = C;
> ... when != rc
> when strict
> -return rc;
> }
>
>
> Unfortunately, I do not get the transformation result which I would expect
> for this approach. But I have noticed also that a similar SmPL script
> can work as expected (if a function like “unpin_extent_cache” was not marked
> as “static”?).
> Would you like to add any advices?
I don't know what result you expect, nor what is the relevance of
unpin_extent_cache, which is not the function linked to above.
My advice would be to take the time to cut down the example to a few lines
of code that can easily fit in an email, and then send a complete message
with no URLs or implicit references to previous emails that describes the
problem.
julia
> Regards,
> Markus
> _______________________________________________
> Cocci mailing list
> [email protected]
> https://systeme.lip6.fr/mailman/listinfo/cocci
>_______________________________________________
Cocci mailing list
[email protected]
https://systeme.lip6.fr/mailman/listinfo/cocci