aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Palix <npalix.work@gmail.com>2010-10-08 15:27:40 -0400
committerMichal Marek <mmarek@suse.cz>2010-10-13 08:26:06 -0400
commit2c1160c87465ee2d61eee14596e5376d2ff74f31 (patch)
tree4cd5fb75c6aa6a75937681bac4c7f2f07dfdb6b4
parente90f6590219a0082618b9b6828458b1c74f37cc0 (diff)
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>
-rwxr-xr-xscripts/coccicheck16
1 files changed, 11 insertions, 5 deletions
diff --git a/scripts/coccicheck b/scripts/coccicheck
index ef78c875a0e3..c7beb63de2e8 100755
--- a/scripts/coccicheck
+++ b/scripts/coccicheck
@@ -16,6 +16,7 @@ if [ "$C" = "1" -o "$C" = "2" ]; then
16else 16else
17 ONLINE=0 17 ONLINE=0
18 FLAGS="-very_quiet" 18 FLAGS="-very_quiet"
19 OPTIONS="-dir $srctree"
19fi 20fi
20 21
21if [ ! -x "$SPATCH" ]; then 22if [ ! -x "$SPATCH" ]; then
@@ -25,11 +26,11 @@ fi
25 26
26if [ "$MODE" = "" ] ; then 27if [ "$MODE" = "" ] ; then
27 if [ "$ONLINE" = "0" ] ; then 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 echo 'You can specify the mode with "make coccicheck MODE=<mode>"' 31 echo 'You can specify the mode with "make coccicheck MODE=<mode>"'
30 echo 'Available modes are: report, patch, context, org'
31 fi 32 fi
32 MODE="report" 33 MODE="chain"
33fi 34fi
34 35
35if [ "$ONLINE" = "0" ] ; then 36if [ "$ONLINE" = "0" ] ; then
@@ -71,10 +72,15 @@ coccinelle () {
71 sed -ne 's|^//#||p' $COCCI 72 sed -ne 's|^//#||p' $COCCI
72 echo '' 73 echo ''
73 fi 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 else 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 fi 84 fi
79 85
80} 86}