bug-global
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Global does not recognize C++ final keyword


From: Alex Pelts
Subject: RE: Global does not recognize C++ final keyword
Date: Thu, 29 Sep 2022 10:59:57 -0700

Hello to you too.
I tried your suggestion but for some reason gtags could not find
universal-ctags. Kept complaining. I also would like to use global on
multiple machines and universal-ctags don't have a convenient install
option. I am trying to migrate from cscope which is unsupported at this
point.

I created a patch that I think fixes the issue. Could you please review it
and merge if possible? There are only few lines of changes but re-generated
files have a lot of changes because of keyword shift.
There is another use of final keyword after a function and that I did not
handle. The patch also does not handle something like "struct final Model".
That is not a valid syntax and compilation will fail. Not sure if this
should be handled.

Thank you,
Alex

-----Original Message-----
From: Shigio YAMAGUCHI <shigio@gnu.org>
Sent: Wednesday, September 28, 2022 8:53 PM
To: Alex Pelts <alex.pelts@broadcom.com>
Cc: bug-global@gnu.org
Subject: Re: Global does not recognize C++ final keyword

Hello,
I have added your report to the TODO list.
(https://www.gnu.org/software/global/bugs.html)

By the way, C++ language is no longer officially supported.

        [NEWS]
        Version 6.6.5 - September 3 2020
        ...
        [DEPRECATED]
        o gtags: the built-in C++ parser is deprecated, since it is not well
maintained.
          Currently, it is hard to say that Global supports C++ language.

If you have universal-ctags, please try this:

        $ cp /usr/local/share/gtags/gtags.conf .
        $ gtags --gtagslabel=universal-ctags
        $ global -dx Model
        Model              16 cpp-test.cpp     struct Model final {
        $ _

The --gtagslabel=universal-ctags is not needed, if you rewrite gtags.conf
like follows:

        [gtags.conf]
        +--------------------
        |default:\
        |        :tc=native:
                |
                v
        +--------------------
        |default:\
        |        :tc=universal-ctags:

Thank you for the report!

Regards,
Shigio

On Thu, Sep 29, 2022 at 10:07 AM Alex Pelts <alex.pelts@broadcom.com> wrote:
>
> What is your environment (OS)?
> Ubuntu 18.04.1 LTS
> Which version of Global are you using?
> Tried 6.6.2 which is available with apt-get and 6.6.8 which I built
> from source. Both versions show the same issue.
> What did you do? (command line)
> gtags .
> global -dx Model
> global -dx final
> global -dx struct
>
> What did you expect from it?
> global -dx Model
> Expected for the tool to show definition of model global -dx final
> Expected not to show any definitions global -dx struct Expected not to
> show any definitions
>
> What was occurred? (as is)
> global -dx Model
> Did not show any definitions
> global -dx final
> final              16 cpp-test.cpp     struct Model final {
> final              17 cpp-test.cpp         struct ExtensionNameAndPrefix
> final {
> global -dx struct
> Did not show any definitions
>
> Attached is the relevant CPP file.
>
> Thank you,
> Alex
>
> --
> This electronic communication and the information and any files
> transmitted with it, or attached to it, are confidential and are
> intended solely for the use of the individual or entity to whom it is
> addressed and may contain information that is confidential, legally
> privileged, protected by privacy laws, or otherwise restricted from
> disclosure to anyone else. If you are not the intended recipient or
> the person responsible for delivering the e-mail to the intended
> recipient, you are hereby notified that any use, copying,
> distributing, dissemination, forwarding, printing, or copying of this
> e-mail is strictly prohibited. If you received this e-mail in error,
> please return the e-mail to the sender, delete it from your computer, and
> destroy any printed copy of it.



--
Shigio YAMAGUCHI <shigio@gnu.org>
PGP fingerprint:
26F6 31B4 3D62 4A92 7E6F  1C33 969C 3BE3 89DD A6EB

-- 
This electronic communication and the information and any files transmitted 
with it, or attached to it, are confidential and are intended solely for 
the use of the individual or entity to whom it is addressed and may contain 
information that is confidential, legally privileged, protected by privacy 
laws, or otherwise restricted from disclosure to anyone else. If you are 
not the intended recipient or the person responsible for delivering the 
e-mail to the intended recipient, you are hereby notified that any use, 
copying, distributing, dissemination, forwarding, printing, or copying of 
this e-mail is strictly prohibited. If you received this e-mail in error, 
please return the e-mail to the sender, delete it from your computer, and 
destroy any printed copy of it.

Attachment: 0001-Added-parsing-of-final-keyword.patch
Description: Binary data

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]