|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v12 2/8] scripts: Coccinelle script to use ERRP_AUTO_PROPAGATE()
On 7/7/20 11:50 AM, Markus Armbruster wrote: From: Vladimir Sementsov-Ogievskiy <vsementsov@xxxxxxxxxxxxx> Script adds ERRP_AUTO_PROPAGATE macro invocation where appropriate and does corresponding changes in code (look for details in include/qapi/error.h) Usage example: spatch --sp-file scripts/coccinelle/auto-propagated-errp.cocci \ --macro-file scripts/cocci-macro-file.h --in-place --no-show-diff \ --max-width 80 FILES... Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@xxxxxxxxxxxxx> Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> --- scripts/coccinelle/auto-propagated-errp.cocci | 337 ++++++++++++++++++ include/qapi/error.h | 3 + MAINTAINERS | 1 + 3 files changed, 341 insertions(+) create mode 100644 scripts/coccinelle/auto-propagated-errp.cocci Needs a tweak if we go with ERRP_GUARD. But that's easy. + +// Convert special case with goto separately. +// I tried merging this into the following rule the obvious way, but +// it made Coccinelle hang on block.c +// +// Note interesting thing: if we don't do it here, and try to fixup +// "out: }" things later after all transformations (the rule will be +// the same, just without error_propagate() call), coccinelle fails to +// match this "out: }". "out: }" is not valid C; would referring to "out: ; }" fare any better? I guess we can still decide later if we want these additional functions, or if they will even help after the number of places we have already improved after applying this script as-is and with Markus' cleanups in place. While I won't call myself a Coccinelle expert, it at least looks sane enough that I'm comfortable if you add: Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |