History

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

Nicolas Palix committed 16 years ago

Commit 2c1160c1 parent e90f6591 file · +11 −5Browse files

Showing the changes to scripts (1 of 1 file). Show all

Unified · Split

scripts/coccicheck+11−5
@@ -16,6 +16,7 @@ if [ "$C" = "1" -o "$C" = "2" ]; then · 15 unmodified lines
1616 else
1717 ONLINE=0
1818 FLAGS="-very_quiet"
19+ OPTIONS="-dir $srctree"
1920 fi
2021
2122 if [ ! -x "$SPATCH" ]; then
@@ -25,11 +26,11 @@ fi · 3 unmodified lines
2526
2627 if [ "$MODE" = "" ] ; then
2728 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'
2931 echo 'You can specify the mode with "make coccicheck MODE=<mode>"'
30− echo 'Available modes are: report, patch, context, org'
3132 fi
32− MODE="report"
33+ MODE="chain"
3334 fi
3435
3536 if [ "$ONLINE" = "0" ] ; then
@@ -71,10 +72,15 @@ coccinelle () { · 35 unmodified lines
7172 sed -ne 's|^//#||p' $COCCI
7273 echo ''
7374 fi
75+ fi
7476
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
7682 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
7884 fi
7985
8086 }