[PATCH] D113743: [RFC][clang][DebugInfo] Allow function-local statics and types to be scoped within a lexical block
David Blaikie via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 6 19:00:04 PST 2021
dblaikie added a comment.
In D113743#3174073 <https://reviews.llvm.org/D113743#3174073>, @krisb wrote:
> In D113743#3173981 <https://reviews.llvm.org/D113743#3173981>, @JDevlieghere wrote:
>
>> Hey Kristina, this broke TestSetData.py on GreenDragon: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/39089/
>>
>> Since the bot has been red for several hours I went ahead and reverted your change in 4cb79294e8df8c91ae15264d1014361815d34a53 <https://reviews.llvm.org/rG4cb79294e8df8c91ae15264d1014361815d34a53>.
>
> Thank you for taking care of this!
> I'm looking at the issue, but it's been taking more time than I expected.
>
> This doesn't seem like a flaw of the patch, but likely is a lack of support of records/typedefs scoped within a bracketed block from lldb side.
> I see lldb couldn't handle cases like
>
> int foo(int a) {
> {
> typedef int Int;
> Int local = a;
> return local;
> }
> }
>
> which produces the same error as for TestSetData.py:
>
> Process 2487354 stopped
> * thread #1, name = 'a.out', stop reason = step over
> frame #0: 0x000000000040111d a.out`foo(a=1) at test_lldb.cpp:5:12
> 2 {
> 3 typedef int Int;
> 4 Int local = a;
> -> 5 return local;
> 6 }
> 7 }
> 8
> (lldb) p local
> error: expression failed to parse:
> error: <lldb wrapper prefix>:45:31: no member named 'local' in namespace '$__lldb_local_vars'
> using $__lldb_local_vars::local;
> ~~~~~~~~~~~~~~~~~~~~^
> error: <user expression 0>:1:1: use of undeclared identifier 'local'
> local
> ^
Not super surprising that lldb might not be able to deal with DWARF in this shape - is LLDB support important to you/something you plan to work on for this DWARF? Otherwise we might need to opt-out of this functionality when tuning for LLDB, for instance. Unless LLDB-invested folks are interested in doing the integration work (& even then, maybe disabling it for LLDB tuning until that's fixed). @aprantl @JDevlieghere
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D113743/new/
https://reviews.llvm.org/D113743
More information about the cfe-commits
mailing list