Re: global c++ parser misses C++11 type alias (using)

Shigio YAMAGUCHI <[email protected]>
Newsgroups gmane.comp.gnu.global.bugs
Message-ID <CADJmJYrmciz1BbTRJUes-E0BoKmnnN8UvoQswmMHnMCGoLmHRw@mail.gmail.com>
Hi,
Thank you for your testing.
I have committed the patch.
The next release of GLOBAL will include it.

Regards,
Shigio


2015-07-14 15:17 GMT+09:00 Evghenii Gaburov <[email protected]>:

> Dear Shigio,
>
> Thanks for the patch! It works very well, and fixes the bug that was in my
> submitted patch. I’ll be using your patch from now on.
>
> Cheers,
>   Evghenii
>
> On Jul 14, 2015, at 04:30, Shigio YAMAGUCHI <[email protected]> wrote:
>
> Hi,
> Thank you for the patch.
> I corrected the bug by a little different method.
> When you can test, it's lucky.
>
> Regards,
> Shigio
>
>
> 2015-07-08 20:16 GMT+09:00 Evghenii Gaburov <[email protected]>:
>
>> OS: Linux Ubuntu 14.04LTS & Mac OS X 10.10.2
>> GLOBAL: v6.5, built from source via configure && make && make install
>> COMMAND : gtags -v
>> EXPECT: detect C++11 type alias (using A = B;)
>> RESULT: C++11 type alias is not tagged
>>
>> Here is the reproducer:
>> —————————————
>> $ cat > cvt.cpp
>> using my_type1 = double;
>> typedef float my_type2;
>>
>> my_type2 cvt(my_type1 x)
>> {
>>    return static_cast<my_type2>(x);
>> }
>> ^C
>> $ gtags --version
>> gtags (GNU GLOBAL) 6.5
>> Copyright (c) 2015 Tama Communications Corporation
>> License GPLv3+: GNU GPL version 3 or later <
>> http://www.gnu.org/licenses/gpl.html>
>> This is free software; you are free to change and redistribute it.
>> There is NO WARRANTY, to the extent permitted by law.
>> $ gtags -v
>> [Wed Jul 08 13:11:29 CEST 2015] Gtags started.
>> [Wed Jul 08 13:11:29 CEST 2015] Creating 'GTAGS' and 'GRTAGS'.
>>  [1] extracting tags of cvt.cpp
>> [Wed Jul 08 13:11:29 CEST 2015] Done.
>> $ global -x my_type1
>> $ global -x my_type2
>> my_type2            2 cvt.cpp          typedef float my_type2;
>> $
>>
>> Attached is a simple patch [by no means complete] that seems to fix the
>> problem:
>> —————————————————
>> $ patch -p1 < global-6.5-using.patch
>> patching file libparser/Cpp.c
>> $ make && make install
>> $ rm -rf G*
>> $ gtags -v
>> [Wed Jul 08 13:14:09 CEST 2015] Gtags started.
>> [Wed Jul 08 13:14:09 CEST 2015] Creating 'GTAGS' and 'GRTAGS'.
>>  [1] extracting tags of cvt.cpp
>> [Wed Jul 08 13:14:09 CEST 2015] Done.
>> $ global -x my_type1
>> my_type1            1 cvt.cpp          using my_type1 = double;
>> $ global -x my_type2
>> my_type2            2 cvt.cpp          typedef float my_type2;
>>
>>
>> Cheers,
>>   Evghenii
>>
>>
>>
>> _______________________________________________
>> Bug-global mailing list
>> [email protected]
>> https://lists.gnu.org/mailman/listinfo/bug-global
>>
>>
>
>
> --
> Shigio YAMAGUCHI <[email protected]>
> PGP fingerprint: D1CB 0B89 B346 4AB6 5663  C4B6 3CA5 BBB3 57BE DDA3
> <using-fix.diff>
>
>
>


-- 
Shigio YAMAGUCHI <[email protected]>
PGP fingerprint: D1CB 0B89 B346 4AB6 5663  C4B6 3CA5 BBB3 57BE DDA3

_______________________________________________
Bug-global mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-global
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.