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: https://coccinelle.gitlabpages.inria.fr/website 8 // Comments: Some false positives on empty default cases in switch statements. 9 // Options: --no-includes --include-headers 10 11 virtual patch 12 virtual report 13 virtual context 14 virtual org 15 16 @r_default@ 17 position p; 18 @@ 19 switch (...) 20 { 21 default: ...;@p 22 } 23 24 @r_case@ 25 position p; 26 @@ 27 ( 28 switch (...) 29 { 30 case ...:;@p 31 } 32 | 33 switch (...) 34 { 35 case ...:... 36 case ...:;@p 37 } 38 | 39 switch (...) 40 { 41 case ...:... 42 case ...: 43 case ...:;@p 44 } 45 ) 46 47 @r1@ 48 statement S; 49 position p1; 50 position p != {r_default.p, r_case.p}; 51 identifier label; 52 @@ 53 ( 54 label:; 55 | 56 S@p1;@p 57 ) 58 59 @script:python@ 60 p << r1.p; 61 p1 << r1.p1; 62 @@ 63 if p[0].line != p1[0].line_end: 64 cocci.include_match(False) 65 66 @depends on patch@ 67 position r1.p; 68 @@ 69 -;@p 70 71 @script:python depends on report@ 72 p << r1.p; 73 @@ 74 coccilib.report.print_report(p[0],"Unneeded semicolon") 75 76 @depends on context@ 77 position r1.p; 78 @@ 79 *;@p 80 81 @script:python depends on org@ 82 p << r1.p; 83 @@ 84 cocci.print_main("Unneeded semicolon",p)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.