xref: /Universal-ctags/Units/parser-cxx.r/bug849591.cpp.d/input.cpp (revision 8295c52c7a01d8db7b6020c5d43831d53313383c)
1 /*
2 Bugs item #849591, was opened at 2003-11-26 11:35
3 Message generated for change (Tracker Item Submitted) made by Item Submitter
4 You can respond by visiting:
5 https://sourceforge.net/tracker/?func=detail&atid=106556&aid=849591&group_id=6556
6 
7 Category: None
8 Group: None
9 Status: Open
10 Resolution: None
11 Priority: 5
12 Submitted By: Igor Proskuriakov (proskig)
13 Assigned to: Nobody/Anonymous (nobody)
14 Summary: C++ Member templates
15 
16 Initial Comment:
17 Hi,
18 There seems to be a problem with how ctags treats C++
19 member templates. Example:
20 */
Foo()21 void MainClass< ParamClass1&, ParamClass2>::Foo()
22 {
23   exit(0);
24 };
25 /*
26 Generates erroneous tag
27 ParamClass1	test.cpp	/^void MainClass< ParamClass1&, ParamClass2>::Foo()$/;"	v
28 
29 Full ctags file:
30 !_TAG_FILE_FORMAT	2	/extended format; --format=1 will not append ;" to lines/
31 !_TAG_FILE_SORTED	1	/0=unsorted, 1=sorted, 2=foldcase/
32 !_TAG_PROGRAM_AUTHOR	Darren Hiebert	/dhiebert@users.sourceforge.net/
33 !_TAG_PROGRAM_NAME	Exuberant Ctags	//
34 !_TAG_PROGRAM_URL	http://ctags.sourceforge.net	/official site/
35 !_TAG_PROGRAM_VERSION	5.5.2	//
36 Foo	test.cpp	/^void MainClass< const ParamClass1&, ParamClass2>::Foo()$/;"	f	class:ParamClass2
37 ParamClass1	test.cpp	/^void MainClass< ParamClass1&, ParamClass2>::Foo()$/;"	v
38 
39 -----
40 
41 Removing space after first angle bracket:
42 */
Foo()43 void MainClass<ParamClass1&, ParamClass2>::Foo()
44 {
45   exit(0);
46 };
47 /*
48 makes ctags to drop first letter from parameter class
49 name:
50 
51 aramClass1	test.cpp	/^void MainClass<ParamClass1&, ParamClass2>::Foo()$/;"	v
52 
53 
54 Let me know if you need any clarification with this issue.
55 Many thanks in advance!
56 */
57