Re: [PATCH] scripts/coccinelle/misc/semicolon.cocci: Add unneededsemicolon test

From: Joe Perches
Date: Sat Dec 08 2012 - 12:49:09 EST


On Sat, 2012-12-08 at 15:34 -0200, Peter Senna Tschudin wrote:
> This semantic patch looks for semicolons that can be removed without
> changing the semantics of the code. The confidence is moderate
> because there are some false positives on cases like:
>
> b/drivers/mmc/host/cb710-mmc.c:589
> break;
> case MMC_POWER_UP:
> default:
> - /* ignore */;
> }
[]
> diff --git a/scripts/coccinelle/misc/semicolon.cocci b/scripts/coccinelle/misc/semicolon.cocci
[]
> +@r1@
> +statement S;
> +position p1;
> +position p != {r_default.p, r_case.p};
> +identifier label;
> +@@
> +(
> +label:;
> +|
> +S@p1;@p
> +)
> +

I believe this also fails on this case:

void some_func(...)
{
...
if (foo)
goto exit;
...

exit:
;
}

where gcc needs a semicolon after a label before a function exit.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/