mirror of
https://github.com/git/git.git
synced 2026-01-11 13:23:12 +09:00
contrib/coccinelle: pass include paths to spatch(1)
In the previous commit a new coccinelle rule is added. But neiter
`make coccicheck` nor `meson compile coccicheck` did detect a case in
builtin/last-modified.c.
This case involves the field `scratch` in `struct last_modified`. This
field is of type `struct bitmap` and that struct has a member
`eword_t *words`. Both are defined in `ewah/ewok.h`. Now, while
builtin/last-modified.c does include that header (with the subdir in the
#include directive), it seems coccinelle does not process it. So it's
unaware of the type of `words` in the bitmap, and it doesn't recognize
the rule from previous commit that uses:
type T;
T *ptr;
Fix coccicheck by passing all possible include paths inside the Git
project so spatch(1) can find the headers and can determine the types.
Signed-off-by: Toon Claes <toon@iotcl.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
a67b902c94
commit
467860bc0b
2
Makefile
2
Makefile
@ -981,7 +981,7 @@ SANITIZE_LEAK =
|
|||||||
SANITIZE_ADDRESS =
|
SANITIZE_ADDRESS =
|
||||||
|
|
||||||
# For the 'coccicheck' target
|
# For the 'coccicheck' target
|
||||||
SPATCH_INCLUDE_FLAGS = --all-includes
|
SPATCH_INCLUDE_FLAGS = --all-includes $(addprefix -I ,compat ewah refs sha256 trace2 win32 xdiff)
|
||||||
SPATCH_FLAGS =
|
SPATCH_FLAGS =
|
||||||
SPATCH_TEST_FLAGS =
|
SPATCH_TEST_FLAGS =
|
||||||
|
|
||||||
|
|||||||
@ -50,6 +50,11 @@ foreach header : headers_to_check
|
|||||||
coccinelle_headers += meson.project_source_root() / header
|
coccinelle_headers += meson.project_source_root() / header
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
|
coccinelle_includes = []
|
||||||
|
foreach path : ['compat', 'ewah', 'refs', 'sha256', 'trace2', 'win32', 'xdiff']
|
||||||
|
coccinelle_includes += ['-I', meson.project_source_root() / path]
|
||||||
|
endforeach
|
||||||
|
|
||||||
patches = [ ]
|
patches = [ ]
|
||||||
foreach source : coccinelle_sources
|
foreach source : coccinelle_sources
|
||||||
patches += custom_target(
|
patches += custom_target(
|
||||||
@ -58,6 +63,7 @@ foreach source : coccinelle_sources
|
|||||||
'--all-includes',
|
'--all-includes',
|
||||||
'--sp-file', concatenated_rules,
|
'--sp-file', concatenated_rules,
|
||||||
'--patch', meson.project_source_root(),
|
'--patch', meson.project_source_root(),
|
||||||
|
coccinelle_includes,
|
||||||
'@INPUT@',
|
'@INPUT@',
|
||||||
],
|
],
|
||||||
input: meson.project_source_root() / source,
|
input: meson.project_source_root() / source,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user