[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gtags fail to index C++ exported class
From: |
Jason Hood |
Subject: |
Re: gtags fail to index C++ exported class |
Date: |
Sun, 07 Dec 2014 11:57:02 +1000 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 |
On 6/12/2014 10:40, Shigio YAMAGUCHI wrote:
> I'm very sorry for my making many requests. But, ... just one more.
I'm very sorry you've had to.
> New parser ignores some symbols which are not definition.
Fixed, and referenced forward declarations and specs (this patch is based on
the previous one). There'll be a problem if you use relational or shift
operators within a template instantiation, but I'm guessing that's unlikely.
C:\test>cat -n test.cc
1 a() {
2 struct menu *menu = NULL;
3
4 connect(configList, SIGNAL(menuSelected(struct menu *)),
5 SLOT(changeMenu(struct menu *)));
6 }
7
8 struct S1 <int, SR1, SR2, float> {
9 int m1;
10 };
11
12 struct S2 : SR3 {
13 float m2;
14 };
15
16 template struct SR4<int>;
17
18 class {};
19 class CR1;
20 class EXTERN CR2;
21 class C1 {};
22 class IMPORT C2 {};
23 class
24 {};
25 class
26 C3 {};
27 class
28 C4
29 {};
30 class
31 EXPORT
32 C5
33 {};
C:\test>gtags
C:\test>global -x .*
C1 21 test.cc class C1 {};
C2 22 test.cc class IMPORT C2 {};
C3 26 test.cc C3 {};
C4 28 test.cc C4
C5 32 test.cc C5
S1 8 test.cc struct S1 <int, SR1, SR2, float> {
S2 12 test.cc struct S2 : SR3 {
a 1 test.cc a() {
C:\test>global -xrs .*
CR1 19 test.cc class CR1;
CR2 20 test.cc class EXTERN CR2;
EXPORT 31 test.cc EXPORT
EXTERN 20 test.cc class EXTERN CR2;
IMPORT 22 test.cc class IMPORT C2 {};
NULL 2 test.cc struct menu *menu = NULL;
SIGNAL 4 test.cc connect(configList,
SIGNAL(menuSelected(struct menu *)),
SLOT 5 test.cc SLOT(changeMenu(struct menu
*)));
SR1 8 test.cc struct S1 <int, SR1, SR2, float> {
SR2 8 test.cc struct S1 <int, SR1, SR2, float> {
SR3 12 test.cc struct S2 : SR3 {
SR4 16 test.cc template struct SR4<int>;
changeMenu 5 test.cc SLOT(changeMenu(struct menu
*)));
configList 4 test.cc connect(configList,
SIGNAL(menuSelected(struct menu *)),
connect 4 test.cc connect(configList,
SIGNAL(menuSelected(struct menu *)),
m1 9 test.cc int m1;
m2 13 test.cc float m2;
menu 2 test.cc struct menu *menu = NULL;
menu 4 test.cc connect(configList,
SIGNAL(menuSelected(struct menu *)),
menu 5 test.cc SLOT(changeMenu(struct menu
*)));
menuSelected 4 test.cc connect(configList,
SIGNAL(menuSelected(struct menu *)),
--
Jason.
class1.txt
Description: Text document