[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1354991991.3198.7.camel@joe-AO722>
Date: Sat, 08 Dec 2012 10:39:51 -0800
From: Joe Perches <joe@...ches.com>
To: Peter Senna Tschudin <peter.senna@...il.com>
Cc: mmarek@...e.cz, Julia Lawall <Julia.Lawall@...6.fr>,
Gilles Muller <Gilles.Muller@...6.fr>,
Nicolas Palix <nicolas.palix@...g.fr>, cocci@...teme.lip6.fr,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] scripts/coccinelle/misc/semicolon.cocci: Add unneeded
semicolon test
On Sat, 2012-12-08 at 16:13 -0200, Peter Senna Tschudin wrote:
> On Sat, Dec 8, 2012 at 3:45 PM, Joe Perches <joe@...ches.com> wrote:
> > 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:
[]
> > where gcc needs a semicolon after a label before a function exit.
>
> No it does not fail. This issue is switch/case specific. See how I've tested:
Thanks Peter, I didn't notice the switch requirement.
In this case, I'd suggest replacement of the
nominally false positive ; with break;
cheers, Joe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists