diff options
author | Nicolas Palix <npalix.work@gmail.com> | 2010-10-08 15:27:40 -0400 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2010-10-13 08:26:06 -0400 |
commit | 2c1160c87465ee2d61eee14596e5376d2ff74f31 (patch) | |
tree | 4cd5fb75c6aa6a75937681bac4c7f2f07dfdb6b4 | |
parent | e90f6590219a0082618b9b6828458b1c74f37cc0 (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-x | scripts/coccicheck | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/scripts/coccicheck b/scripts/coccicheck index ef78c875a0e..c7beb63de2e 100755 --- a/scripts/coccicheck +++ b/scripts/coccicheck | |||
@@ -16,6 +16,7 @@ if [ "$C" = "1" -o "$C" = "2" ]; then | |||
16 | else | 16 | else |
17 | ONLINE=0 | 17 | ONLINE=0 |
18 | FLAGS="-very_quiet" | 18 | FLAGS="-very_quiet" |
19 | OPTIONS="-dir $srctree" | ||
19 | fi | 20 | fi |
20 | 21 | ||
21 | if [ ! -x "$SPATCH" ]; then | 22 | if [ ! -x "$SPATCH" ]; then |
@@ -25,11 +26,11 @@ fi | |||
25 | 26 | ||
26 | if [ "$MODE" = "" ] ; then | 27 | if [ "$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" |
33 | fi | 34 | fi |
34 | 35 | ||
35 | if [ "$ONLINE" = "0" ] ; then | 36 | if [ "$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 | } |