summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorNicolas Palix <npalix.work@gmail.com>2010-10-08 21:27:40 +0200
committerMichal Marek <mmarek@suse.cz>2010-10-13 14:26:06 +0200
commit2c1160c87465ee2d61eee14596e5376d2ff74f31 (patch)
tree4cd5fb75c6aa6a75937681bac4c7f2f07dfdb6b4 /scripts
parentCoccinelle: Use new comment format to explain kfree.cocci (diff)
downloadlinux-2c1160c87465ee2d61eee14596e5376d2ff74f31.tar.xz
linux-2c1160c87465ee2d61eee14596e5376d2ff74f31.zip
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>
Diffstat (limited to 'scripts')
-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
else
ONLINE=0
FLAGS="-very_quiet"
+ OPTIONS="-dir $srctree"
fi
if [ ! -x "$SPATCH" ]; then
@@ -25,11 +26,11 @@ fi
if [ "$MODE" = "" ] ; then
if [ "$ONLINE" = "0" ] ; then
- echo 'You have not explicitly specified the mode to use. Fallback to "report".'
+ echo 'You have not explicitly specified the mode to use. Using default "chain" mode.'
+ echo 'All available modes will be tried (in that order): patch, report, context, org'
echo 'You can specify the mode with "make coccicheck MODE=<mode>"'
- echo 'Available modes are: report, patch, context, org'
fi
- MODE="report"
+ MODE="chain"
fi
if [ "$ONLINE" = "0" ] ; then
@@ -71,10 +72,15 @@ coccinelle () {
sed -ne 's|^//#||p' $COCCI
echo ''
fi
+ fi
- $SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT -dir $srctree || exit 1
+ if [ "$MODE" = "chain" ] ; then
+ $SPATCH -D patch $FLAGS -sp_file $COCCI $OPT $OPTIONS || \
+ $SPATCH -D report $FLAGS -sp_file $COCCI $OPT $OPTIONS || \
+ $SPATCH -D context $FLAGS -sp_file $COCCI $OPT $OPTIONS || \
+ $SPATCH -D org $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1
else
- $SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1
+ $SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1
fi
}