The current implementation seems to hard-code looking for '#' at the beginning of the line to determine that X() is not a function when inside a preprocessor statement. However, this seems to fail when #if statements include multi-line checks; this was noted by Hans in the notes for the bug I filed earlier (id: 3309010).
This patch adds support for handling multi-line #if statements.
cscope 15.7a cscope.out
Multiline #if patch and improved generic # handling
Patched cscope.out
I have attached an unpatched and patched cscope.out for reference. The patched one improves general handling of preprocessor #XXX statements. The current implementation identifies in '#if ABC', the parameter ABC as a global variable; the patched version avoids this problem.
I verified the multiline #if handling using the 'vim.h' file I attached to the bug report.
Hi Hans,
Did you have a chance to follow up on this?