Sha256: c1e6630584f7d581ec156da4391671cbfa37c558e20a538402c313cfe67c29dc
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 KB
Contents
This case tests multiple behavior of C parser. 1. #pragma weak 2. Top level function call like macro expansions (MACRO1, MACRO2, MACRO3) If a macro takes one parameter, according to my observation ctags records the parameter as a variable by default. It looks sensible behavior. Look at following code: #define DEF_LANG(X) struct Lang X ... DEF_LANG(alpha); In this case ctags records alpha by default. MACRO1 tests this default behavior. With -I option you can make this behavior for a specified macro be disabled. MACRO2 tests the -I option. If a macro takes more than one parameters, according to my observation ctags records nothing. In the future we can change this behavior interesting way but in this case tests the current implementation(MACRO3). 3. name before double parenthesis (__ARGS) ctags.1 says: Ctags will also try to specially handle arguments lists enclosed in double sets of parentheses in order to accept the following conditional construct: extern void foo __ARGS((int one, char two)); Any name immediately preceding the "((" will be automatically ignored and the previous name will be used. 4. #undef
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ctags.rb-1.1.4 | ext/vendor/ctags/Units/parser-c.r/macros.c.d/README |
ctags.rb-1.1.3 | ext/vendor/ctags/Units/parser-c.r/macros.c.d/README |