[Lldb-commits] [PATCH] D102993: [lldb] Disable minimal import mode for RecordDecls that back FieldDecls
Jordan Rupprecht via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Jun 22 19:32:28 PDT 2021
rupprecht added a comment.
In D102993#2811902 <https://reviews.llvm.org/D102993#2811902>, @rupprecht wrote:
> In D102993#2811337 <https://reviews.llvm.org/D102993#2811337>, @teemperor wrote:
>
>> Sure I can take a look, but I don't see the immediate problem when looking at the backtrace.
>>
>> I assume it takes some time to reduce the bug in Chrome? If you could get me the `dump()` output for the Decls `D`, `(Decl*)ToDC`, `FromRD`, `ToD`, `(Decl*)ToD->getLexicalDeclContext()` and whether the left or the right side of the `&&` is true/false then maybe it becomes more obvious what's going wrong here.
>
> This is probably not going to be useful:
>
> - `D->dump()`: `FieldDecl 0x169993f9fbd0 <<invalid sloc>> <invalid sloc> __r_ 'std::__compressed_pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >::__rep, std::allocator<char> >'`
> - `((Decl*)ToDC)->dump()` - prints:
>
> a decl that inherits DeclContext isn't handled
> UNREACHABLE executed at llvm-project/clang/lib/AST/DeclBase.cpp:928!
`ToDC->getDeclKindName()` is "ClassTemplateSpecialization". Does that explain the unreachable error message? Maybe it needs a special case somewhere?
> - `FromRD->dump()` prints something waaaay to long to include here :)
>
> ClassTemplateSpecializationDecl 0x169983fc2b98 <<invalid sloc>> <invalid sloc> class basic_string definition
> |-DefinitionData standard_layout has_user_declared_ctor can_const_default_init
> | |-DefaultConstructor exists non_trivial user_provided
> | |-CopyConstructor non_trivial user_declared has_const_param needs_overload_resolution implicit_has_const_param
> | |-MoveConstructor exists non_trivial user_declared
> | |-CopyAssignment non_trivial has_const_param user_declared needs_overload_resolution implicit_has_const_param
> | |-MoveAssignment exists non_trivial user_declared
> | `-Destructor non_trivial user_declared
> |-private 'std::__basic_string_common<true>'
> |-TemplateArgument type 'char'
> | `-BuiltinType 0x1695c0305860 'char'
> ...
>
>
>
> - `((Decl*)ToD)->getLexicalDeclContext()` errors: `error: Execution was interrupted, reason: signal SIGSEGV: address access protected (fault address: 0x55e264000000).` (ToD is nonnull: 0x00001699897a5e00)
>
> I'm running out of time today & I'm off tomorrow, but I should be able to post something on Monday. I have a suspicion it's dependent on whatever flags chrome is building with, so I'll try to figure that out too.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102993/new/
https://reviews.llvm.org/D102993
More information about the lldb-commits
mailing list