I'm working with a codebase that's meant to be built with a proprietary C compiler using tons of esoteric language extensions. Ideally, I'd like to stick to my chosen environment as much as possible, but parsing the code for syntax/tags is hard.
The custom attributes can be handled by passing stuff like -D __no_init=
to clang, but then we have stuff like this in the header files:
__saddr __no_init volatile union { unsigned char P14; __BITS8 P14_bit; } @ 0xFFF0E;
which makes it tough to find P14_bit
as a tag. After some fiddling, it seems that clang actually accepts references to P14_bit
as valid.
It seems, instead, that the gtags backend doesn't parse it "correctly". It picks up and indexes __BITS8
and other macros/typedefs in the same file, but P14_bit
and P14
aren't indexed by
Does anyone have any workaround hacks to suggest?