When debugging (using --profile or --show-trying) you want to avoid supressing output, use --quiet instead. While at it, extend documentation for SPFLAGS use. For instance one can use: $ export COCCI=scripts/coccinelle/misc/irqf_oneshot.cocci $ make coccicheck DEBUG_FILE="poo.err" MODE=report SPFLAGS="--profile --show-trying" M=./drivers/mfd/arizona-irq.c Expand Documentation/coccinelle.txt as well. v4: expand Documentation/coccinelle.txt v3: rebased, resolve conflicts, expand Documentation/coccinelle.txt v2: use egrep instead of the *"=--option"* check, this doesn't work for disjunctions.
Showing the changes to scripts (1 of 2 files). Show all
Unified · Split
| @@ -32,6 +32,27 @@ fi · 31 unmodified lines | |||
| 32 | 32 | ||
| 33 | FLAGS="--very-quiet" | 33 | FLAGS="--very-quiet" |
| 34 | 34 | ||
| 35 | # You can use SPFLAGS to append extra arguments to coccicheck or override any | ||
| 36 | # heuristics done in this file as Coccinelle accepts the last options when | ||
| 37 | # options conflict. | ||
| 38 | # | ||
| 39 | # A good example for use of SPFLAGS is if you want to debug your cocci script, | ||
| 40 | # you can for instance use the following: | ||
| 41 | # | ||
| 42 | # $ export COCCI=scripts/coccinelle/misc/irqf_oneshot.cocci | ||
| 43 | # $ make coccicheck MODE=report DEBUG_FILE="all.err" SPFLAGS="--profile --show-trying" M=./drivers/mfd/arizona-irq.c | ||
| 44 | # | ||
| 45 | # "--show-trying" should show you what rule is being processed as it goes to | ||
| 46 | # stdout, you do not need a debug file for that. The profile output will be | ||
| 47 | # be sent to stdout, if you provide a DEBUG_FILE the profiling data can be | ||
| 48 | # inspected there. | ||
| 49 | # | ||
| 50 | # --profile will not output if --very-quiet is used, so avoid it. | ||
| 51 | echo $SPFLAGS | egrep -e "--profile|--show-trying" 2>&1 > /dev/null | ||
| 52 | if [ $? -eq 0 ]; then | ||
| 53 | FLAGS="--quiet" | ||
| 54 | fi | ||
| 55 | |||
| 35 | # spatch only allows include directories with the syntax "-I include" | 56 | # spatch only allows include directories with the syntax "-I include" |
| 36 | # while gcc also allows "-Iinclude" and "-include include" | 57 | # while gcc also allows "-Iinclude" and "-include include" |
| 37 | COCCIINCLUDE=${LINUXINCLUDE//-I/-I } | 58 | COCCIINCLUDE=${LINUXINCLUDE//-I/-I } |