提交 2c1160c8 编写于 作者: N Nicolas Palix 提交者: Michal Marek

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: NNicolas Palix <npalix.work@gmail.com>
Signed-off-by: NJulia Lawall <julia@diku.dk>
Signed-off-by: NMichal Marek <mmarek@suse.cz>
上级 e90f6590
...@@ -16,6 +16,7 @@ if [ "$C" = "1" -o "$C" = "2" ]; then ...@@ -16,6 +16,7 @@ if [ "$C" = "1" -o "$C" = "2" ]; then
else else
ONLINE=0 ONLINE=0
FLAGS="-very_quiet" FLAGS="-very_quiet"
OPTIONS="-dir $srctree"
fi fi
if [ ! -x "$SPATCH" ]; then if [ ! -x "$SPATCH" ]; then
...@@ -25,11 +26,11 @@ fi ...@@ -25,11 +26,11 @@ fi
if [ "$MODE" = "" ] ; then if [ "$MODE" = "" ] ; then
if [ "$ONLINE" = "0" ] ; 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 'You can specify the mode with "make coccicheck MODE=<mode>"'
echo 'Available modes are: report, patch, context, org'
fi fi
MODE="report" MODE="chain"
fi fi
if [ "$ONLINE" = "0" ] ; then if [ "$ONLINE" = "0" ] ; then
...@@ -71,10 +72,15 @@ coccinelle () { ...@@ -71,10 +72,15 @@ coccinelle () {
sed -ne 's|^//#||p' $COCCI sed -ne 's|^//#||p' $COCCI
echo '' echo ''
fi 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 else
$SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1 $SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1
fi fi
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册