This pull request switches us to the new cxx parser for C and C++.
There is nothing really special worth noting here apart from the change how anonymous tags are called in the new parser. In the old parser we had e.g.
``` anon_struct_1 anon_union_2 anon_typedef_3 ```
which are now called just
``` __anon1 __anon2 __anon3 ```
The question is whether we should do something about that or just keep it this way (it should be possible to rename the tags in our code, the only problem is that we have to go through all the tags and apart from tag names also update scope names). You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3032
-- Commit Summary --
* Add "l" prefix to functions in lcpp.c/h * Rename C/C++ parsers to "Old" * Add the new cxx parser * Enable the new cxx parser * Update C/C++ unit tests
-- File Changes --
M ctags/Makefile.am (32) A ctags/parsers/cpreprocessor.c (2297) A ctags/parsers/cpreprocessor.h (137) A ctags/parsers/cxx/cxx.c (163) A ctags/parsers/cxx/cxx_debug.c (182) A ctags/parsers/cxx/cxx_debug.h (63) A ctags/parsers/cxx/cxx_debug_type.c (54) A ctags/parsers/cxx/cxx_keyword.c (639) A ctags/parsers/cxx/cxx_keyword.h (178) A ctags/parsers/cxx/cxx_parser.c (2023) A ctags/parsers/cxx/cxx_parser.h (27) A ctags/parsers/cxx/cxx_parser_block.c (804) A ctags/parsers/cxx/cxx_parser_function.c (2281) A ctags/parsers/cxx/cxx_parser_internal.h (388) A ctags/parsers/cxx/cxx_parser_lambda.c (332) A ctags/parsers/cxx/cxx_parser_namespace.c (345) A ctags/parsers/cxx/cxx_parser_template.c (858) A ctags/parsers/cxx/cxx_parser_tokenizer.c (1689) A ctags/parsers/cxx/cxx_parser_typedef.c (491) A ctags/parsers/cxx/cxx_parser_using.c (170) A ctags/parsers/cxx/cxx_parser_variable.c (917) A ctags/parsers/cxx/cxx_qtmoc.c (342) A ctags/parsers/cxx/cxx_scope.c (276) A ctags/parsers/cxx/cxx_scope.h (86) A ctags/parsers/cxx/cxx_subparser.c (125) A ctags/parsers/cxx/cxx_subparser.h (45) A ctags/parsers/cxx/cxx_subparser_internal.h (27) A ctags/parsers/cxx/cxx_tag.c (700) A ctags/parsers/cxx/cxx_tag.h (202) A ctags/parsers/cxx/cxx_token.c (185) A ctags/parsers/cxx/cxx_token.h (124) A ctags/parsers/cxx/cxx_token_chain.c (1220) A ctags/parsers/cxx/cxx_token_chain.h (288) M ctags/parsers/geany_c.c (130) M ctags/parsers/geany_lcpp.c (48) M ctags/parsers/geany_lcpp.h (32) M ctags/parsers/geany_verilog.c (2) M src/tagmanager/tm_parser.c (62) M src/tagmanager/tm_parser.h (1) M src/tagmanager/tm_parsers.h (5) M src/tagmanager/tm_tag.c (2) M tests/ctags/backslashes.c.tags (10) M tests/ctags/bit_field.c.tags (46) M tests/ctags/bug1201689.c.tags (2) M tests/ctags/bug1466117.c.tags (8) M tests/ctags/bug1491666.c.tags (8) M tests/ctags/bug1563476.cpp.tags (1) M tests/ctags/bug1575055.cpp.tags (2) M tests/ctags/bug1585745.cpp.tags (8) M tests/ctags/bug1764143.h.tags (4) M tests/ctags/bug1770479.cpp.tags (2) M tests/ctags/bug1773926.cpp.tags (2) M tests/ctags/bug1799340.cpp.tags (6) M tests/ctags/bug1907083.cpp.tags (8) M tests/ctags/bug1924919.cpp.tags (4) M tests/ctags/bug507864.c.tags (6) M tests/ctags/bug556645.c.tags (3) M tests/ctags/bug556646.c.tags (42) M tests/ctags/bug639639.h.tags (6) M tests/ctags/bug639644.hpp.tags (4) M tests/ctags/c-digraphs.c.tags (6) M tests/ctags/c-trigraphs.c.tags (6) M tests/ctags/cpp_destructor.cpp.tags (6) M tests/ctags/cxx11-final.cpp.tags (6) M tests/ctags/cxx11-noexcept.cpp.tags (4) M tests/ctags/cxx11-override.cpp.tags (6) M tests/ctags/cxx11enum.cpp.tags (10) M tests/ctags/cxx14-combined.cpp.tags (6) M tests/ctags/extern_variable.h.tags (2) M tests/ctags/func_typedef.h.tags (2) M tests/ctags/local.c.tags (2) M tests/ctags/macros.c.tags (4) M tests/ctags/namespace.cpp.tags (4) M tests/ctags/prototype.h.tags (2) M tests/ctags/signature.cpp.tags (9) M tests/ctags/static_array.c.tags (2) M tests/ctags/var-and-return-type.cpp.tags (6)
-- Patch Links --
https://github.com/geany/geany/pull/3032.patch https://github.com/geany/geany/pull/3032.diff