Commit 2c1160c87465ee2d61eee14596e5376d2ff74f31
Committed by
Michal Marek
1 parent
e90f659021
Exists in
master
and in
20 other branches
Coccinelle: Add a new mode named 'chain'
spatch now returns -1 when a virtual rule (given with -D on the command line) is not defined in the semantic patch. Using this spatch feature, coccicheck is now tries several modes by default, in the order: patch, report, context, org Signed-off-by: Nicolas Palix <npalix.work@gmail.com> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Michal Marek <mmarek@suse.cz>
Showing 1 changed file with 11 additions and 5 deletions Side-by-side Diff
scripts/coccicheck
... | ... | @@ -16,6 +16,7 @@ |
16 | 16 | else |
17 | 17 | ONLINE=0 |
18 | 18 | FLAGS="-very_quiet" |
19 | + OPTIONS="-dir $srctree" | |
19 | 20 | fi |
20 | 21 | |
21 | 22 | if [ ! -x "$SPATCH" ]; then |
22 | 23 | |
23 | 24 | |
... | ... | @@ -25,11 +26,11 @@ |
25 | 26 | |
26 | 27 | if [ "$MODE" = "" ] ; then |
27 | 28 | if [ "$ONLINE" = "0" ] ; then |
28 | - echo 'You have not explicitly specified the mode to use. Fallback to "report".' | |
29 | + echo 'You have not explicitly specified the mode to use. Using default "chain" mode.' | |
30 | + echo 'All available modes will be tried (in that order): patch, report, context, org' | |
29 | 31 | echo 'You can specify the mode with "make coccicheck MODE=<mode>"' |
30 | - echo 'Available modes are: report, patch, context, org' | |
31 | 32 | fi |
32 | - MODE="report" | |
33 | + MODE="chain" | |
33 | 34 | fi |
34 | 35 | |
35 | 36 | if [ "$ONLINE" = "0" ] ; then |
36 | 37 | |
37 | 38 | |
... | ... | @@ -71,10 +72,15 @@ |
71 | 72 | sed -ne 's|^//#||p' $COCCI |
72 | 73 | echo '' |
73 | 74 | fi |
75 | + fi | |
74 | 76 | |
75 | - $SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT -dir $srctree || exit 1 | |
77 | + if [ "$MODE" = "chain" ] ; then | |
78 | + $SPATCH -D patch $FLAGS -sp_file $COCCI $OPT $OPTIONS || \ | |
79 | + $SPATCH -D report $FLAGS -sp_file $COCCI $OPT $OPTIONS || \ | |
80 | + $SPATCH -D context $FLAGS -sp_file $COCCI $OPT $OPTIONS || \ | |
81 | + $SPATCH -D org $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1 | |
76 | 82 | else |
77 | - $SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1 | |
83 | + $SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1 | |
78 | 84 | fi |
79 | 85 | |
80 | 86 | } |