[lldb-dev] `ClangASTSource::IgnoreName` C++ false positives
Aleksandr Urakov via lldb-dev
lldb-dev at lists.llvm.org
Wed Oct 31 05:07:52 PDT 2018
Hello,
I've tried to use a check like `if (m_ast_context->getLangOpts().ObjC)
...`, but it seems that it's always true. How can we else determine here if
the Objective-C case is used? Or if we can't, where can we move `if (name
== id_name || name == Class_name)` to make it Objective-C only? What
regressions Objective-C users would have if we would remove this check from
here?
Regards,
Alex
On Wed, Oct 24, 2018 at 7:14 PM Aleksandr Urakov <
aleksandr.urakov at jetbrains.com> wrote:
> Hi all!
>
> There are two hardcoded names to ignore in the
> `ClangASTSource::IgnoreName` function, "Class" and "id", they are valid
> names for C++. It seems that they were added for the Objective-C case. But
> the problem is that when they are in locals they are blocking expressions
> evaluation.
>
> For example for the next code:
>
> int main() {
> int x = 5;
> int id = 7;
> int y = 8;
> return 0;
> }
>
> if you'll break on `return 0` and will try to `print x`, then you'll get a
> error like `no member named 'id' in namespace '$__lldb_local_vars'`.
>
> Do you have any ideas, how can we fix it?
>
> Regards,
> Alex
>
--
Aleksandr Urakov
Software Developer
JetBrains
http://www.jetbrains.com
The Drive to Develop
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20181031/d5928eea/attachment.html>
More information about the lldb-dev
mailing list