interconnect: qcom: sdm845: Walk the list safely on node removal
[linux/fpc-iii.git] / scripts / coccinelle / misc / semicolon.cocci
bloba53edb026dad339afc442432171fac633b834ef7
1 // SPDX-License-Identifier: GPL-2.0-only
2 ///
3 /// Remove unneeded semicolon.
4 ///
5 // Confidence: Moderate
6 // Copyright: (C) 2012 Peter Senna Tschudin, INRIA/LIP6.
7 // URL: http://coccinelle.lip6.fr/
8 // Comments: Some false positives on empty default cases in switch statements.
9 // Options: --no-includes --include-headers
11 virtual patch
12 virtual report
13 virtual context
14 virtual org
16 @r_default@
17 position p;
19 switch (...)
21 default: ...;@p
24 @r_case@
25 position p;
28 switch (...)
30 case ...:;@p
33 switch (...)
35 case ...:...
36 case ...:;@p
39 switch (...)
41 case ...:...
42 case ...:
43 case ...:;@p
47 @r1@
48 statement S;
49 position p1;
50 position p != {r_default.p, r_case.p};
51 identifier label;
54 label:;
56 S@p1;@p
59 @script:python@
60 p << r1.p;
61 p1 << r1.p1;
63 if p[0].line != p1[0].line_end:
64         cocci.include_match(False)
66 @depends on patch@
67 position r1.p;
69 -;@p
71 @script:python depends on report@
72 p << r1.p;
74 coccilib.report.print_report(p[0],"Unneeded semicolon")
76 @depends on context@
77 position r1.p;
79 *;@p
81 @script:python depends on org@
82 p << r1.p;
84 cocci.print_main("Unneeded semicolon",p)