On Fri, May 03, 2019 at 04:42:11PM +0200, SZEDER Gábor wrote: > > Since you *could* include it, I now assume that Coccinelle does not need > > to follow the `#include`s (otherwise, it would have complained about not > > finding the `windows.h` header in your setup). > I don't really know what can cause 'spatch' to error out (besides > unknown command line option or non-existing file specified on the > command line), and this is all that 'man spatch' has to say: > > --all-includes > causes all available include files to be used > > Since it explicitly mentions _available_ include files, I would > venture to guess that non-available include files are not used, and > since it doesn't explicitly mention that such a file causes an error, > it doesn't. Actually, we record Coccinelle's output to stderr in a logfile, and with the Windows-specific source files included it contains thing like: HANDLING: compat/mingw.c (ONCE) TYPE: header conio.h not found (ONCE) TYPE: header wchar.h not found diff = init_defs_builtins: /usr/lib/coccinelle/standard.h HANDLING: compat/winansi.c (ONCE) TYPE: header wingdi.h not found (ONCE) TYPE: header winreg.h not found (ONCE) TYPE: header winternl.h not found (ONCE) TYPE: header ntstatus.h not found So it seems that these missing headers are just ignored, only their absence is noted on stderr. (And just for the record, that log also contained these: HANDLING: http-push.c (ONCE) TYPE: header xmlparse.h not found (ONCE) TYPE: header expat.h not found HANDLING: xdiff/xutils.c (ONCE) TYPE: header limits.h not found (ONCE) TYPE: header assert.h not found which means that even on an avarage Linux box there might be missing include files. This also raises the question whether Coccinelle looks for things to transform in system headers as well (and what if it finds something there)).