On Thu, May 04, 2017 at 10:10:46PM +0200, Julia Lawall wrote: > Drop static on a local variable, when the variable is initialized before > any use on every possible execution path through the function. The static > has no benefit, and dropping it reduces the code size. > > The semantic patch that fixes this problem is as follows: > (http://coccinelle.lip6.fr/) > > // <smpl> > @bad exists@ > position p; > identifier x; > type T; > @@ > > static T x@p; > ... > x = <+...x...+> > > @@ > identifier x; > expression e; > type T; > position p != bad.p; > @@ > > -static > T x@p; > ... when != x > when strict > ?x = e; > // </smpl> > > The change in code size is indicates by the following output from the size > command. > > before: > text data bss dec hex filename > 16671 48 16 16735 415f drivers/mtd/chips/cfi_cmdset_0020.o > > after: > text data bss dec hex filename > 16639 48 8 16695 4137 drivers/mtd/chips/cfi_cmdset_0020.o > > Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Applied patches 1 and 2 to l2-mtd.git/next, for 4.13. -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html