I have committed the patch.
What you have done is a big improvement
rather than just a bug fix.
Thank you very much.

Shigio


2014-12-07 10:57 GMT+09:00 Jason Hood <jad...@yahoo.com.au>:

> 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.
>



-- 
Shigio YAMAGUCHI <shi...@gnu.org>
PGP fingerprint: D1CB 0B89 B346 4AB6 5663  C4B6 3CA5 BBB3 57BE DDA3
_______________________________________________
Bug-global mailing list
Bug-global@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-global

Reply via email to