staging: ks7010: move null check before dereference
[linux/fpc-iii.git] / scripts / coccinelle / misc / semicolon.cocci
blob6740c659a2b38484188a773e41b71a8af6c1c4bd
1 ///
2 /// Remove unneeded semicolon.
3 ///
4 // Confidence: Moderate
5 // Copyright: (C) 2012 Peter Senna Tschudin, INRIA/LIP6.  GPLv2.
6 // URL: http://coccinelle.lip6.fr/
7 // Comments: Some false positives on empty default cases in switch statements.
8 // Options: --no-includes --include-headers
10 virtual patch
11 virtual report
12 virtual context
13 virtual org
15 @r_default@
16 position p;
18 switch (...)
20 default: ...;@p
23 @r_case@
24 position p;
27 switch (...)
29 case ...:;@p
32 switch (...)
34 case ...:...
35 case ...:;@p
38 switch (...)
40 case ...:...
41 case ...:
42 case ...:;@p
46 @r1@
47 statement S;
48 position p1;
49 position p != {r_default.p, r_case.p};
50 identifier label;
53 label:;
55 S@p1;@p
58 @script:python@
59 p << r1.p;
60 p1 << r1.p1;
62 if p[0].line != p1[0].line_end:
63         cocci.include_match(False)
65 @depends on patch@
66 position r1.p;
68 -;@p
70 @script:python depends on report@
71 p << r1.p;
73 coccilib.report.print_report(p[0],"Unneeded semicolon")
75 @depends on context@
76 position r1.p;
78 *;@p
80 @script:python depends on org@
81 p << r1.p;
83 cocci.print_main("Unneeded semicolon",p)