File: bug849591.cpp

package info (click to toggle)
geany 2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 39,300 kB
  • sloc: ansic: 168,600; cpp: 77,562; sh: 5,344; makefile: 1,694; cs: 1,233; javascript: 1,024; python: 580; f90: 537; vhdl: 504; sql: 503; lisp: 436; fortran: 389; php: 278; ada: 201; ruby: 163; java: 131; asm: 131; perl: 119; cobol: 88; tcl: 77; erlang: 73; xml: 66; ml: 27; sed: 16; pascal: 15; haskell: 6
file content (56 lines) | stat: -rw-r--r-- 1,577 bytes parent folder | download | duplicates (17)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
Bugs item #849591, was opened at 2003-11-26 11:35
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=106556&aid=849591&group_id=6556

Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Igor Proskuriakov (proskig)
Assigned to: Nobody/Anonymous (nobody)
Summary: C++ Member templates 

Initial Comment:
Hi,
There seems to be a problem with how ctags treats C++ 
member templates. Example:
*/
void MainClass< ParamClass1&, ParamClass2>::Foo()
{
  exit(0);
};
/*
Generates erroneous tag
ParamClass1	test.cpp	/^void MainClass< ParamClass1&, ParamClass2>::Foo()$/;"	v

Full ctags file:
!_TAG_FILE_FORMAT	2	/extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED	1	/0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR	Darren Hiebert	/dhiebert@users.sourceforge.net/
!_TAG_PROGRAM_NAME	Exuberant Ctags	//
!_TAG_PROGRAM_URL	http://ctags.sourceforge.net	/official site/
!_TAG_PROGRAM_VERSION	5.5.2	//
Foo	test.cpp	/^void MainClass< const ParamClass1&, ParamClass2>::Foo()$/;"	f	class:ParamClass2
ParamClass1	test.cpp	/^void MainClass< ParamClass1&, ParamClass2>::Foo()$/;"	v

-----

Removing space after first angle bracket:
*/
void MainClass<ParamClass1&, ParamClass2>::Foo()
{
  exit(0);
};
/*
makes ctags to drop first letter from parameter class 
name:

aramClass1	test.cpp	/^void MainClass<ParamClass1&, ParamClass2>::Foo()$/;"	v


Let me know if you need any clarification with this issue.
Many thanks in advance!
*/