Re: [lldb-dev] `ClangASTSource::IgnoreName` C++ false positives

2018-11-01 Thread Aleksandr Urakov via lldb-dev
Thanks for details! So at first I'll try to propagate the "language" setting of an expression there. On Wed, Oct 31, 2018 at 9:04 PM Jim Ingham wrote: > We need to do more work to make sure the "language" setting for > expressions gets propagated everywhere and obeyed. We could also be > smarte

Re: [lldb-dev] `ClangASTSource::IgnoreName` C++ false positives

2018-10-31 Thread Jim Ingham via lldb-dev
We need to do more work to make sure the "language" setting for expressions gets propagated everywhere and obeyed. We could also be smarter about setting the default. It seems fine to me for lldb to assume - if we know nothing different - that we should use ObjC++ as the language to compile ex

Re: [lldb-dev] `ClangASTSource::IgnoreName` C++ false positives

2018-10-31 Thread Zachary Turner via lldb-dev
The first thing I would try is to see where the language is getting set to objective c and force it c++. Just as an experiment. Depending where it happens, it may be possible to initialize it from the debug info (or hardcode it). But since ObjC assumptions are baked into several places, this has p

Re: [lldb-dev] `ClangASTSource::IgnoreName` C++ false positives

2018-10-31 Thread Aleksandr Urakov via lldb-dev
Sorry, I have somehow missed the discussion continuation there. Yes, it's a very similar problem, thanks. But unfortunately no one of the workarounds mentioned there doesn't work in this situation... On Wed, Oct 31, 2018 at 4:32 PM Zachary Turner wrote: > It seems like we hit this issue in diffe

Re: [lldb-dev] `ClangASTSource::IgnoreName` C++ false positives

2018-10-31 Thread Zachary Turner via lldb-dev
It seems like we hit this issue in different contexts almost at the same time (see my thread several days ago about “problem formatting value objects”). That might at least give you some context about why things I wish ObjC assumptions weren’t so deeply embedded, but alas it is the case. Hopefull

Re: [lldb-dev] `ClangASTSource::IgnoreName` C++ false positives

2018-10-31 Thread Aleksandr Urakov via lldb-dev
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 r

[lldb-dev] `ClangASTSource::IgnoreName` C++ false positives

2018-10-24 Thread Aleksandr Urakov via lldb-dev
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 examp