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

Aleksandr Urakov via lldb-dev lldb-dev at lists.llvm.org
Wed Oct 31 06:54:09 PDT 2018


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 <zturner at google.com> wrote:

> 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.
>
> Hopefully Jim or someone has ideas on how to fix this properly.
> On Wed, Oct 31, 2018 at 5:08 AM Aleksandr Urakov <
> aleksandr.urakov at jetbrains.com> wrote:
>
>> 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
>>
>

-- 
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/6caedf37/attachment.html>


More information about the lldb-dev mailing list