The cause of the problem is the line 299.
299: _ET_DECLARE_CHECKED(Uint,header_arity,Eterm)
The C parser in GLOBAL cannot treat a pattern like 'XXXX(YYYY)'
in outside of a function well, because it seems to be a function definition.
Work around is here. Please also refer to the Q2 in 'FAQ' file in GLOBAL package.
$ echo _ET_DECLARE_CHECKED >.notfunction
$ gtags
$ global -f erl_term.h
...
is_arity_value 311 erl_term.h #define is_arity_value(x) (((x) & _TAG_HEADER_MASK) == _TAG_HEADER_ARITYVAL)
is_sane_arity_value 312 erl_term.h #define is_sane_arity_value(x) ((((x) & _TAG_HEADER_MASK) == _TAG_HEADER_ARITYVAL) && \