Skip to content
  • Julia Lawall's avatar
    mtd: cfi_cmdset_0020: Drop unnecessary static · a63be500
    Julia Lawall authored
    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: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
    Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
    a63be500