[Lldb-commits] [lldb] [lldb/DWARF] Remove parsing recursion when searching for definition DIEs (PR #96484)
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Wed Jun 26 02:36:05 PDT 2024
================
@@ -897,32 +895,39 @@ TypeSP DWARFASTParserClang::ParseEnum(const SymbolContext &sc,
}
CompilerType clang_type = m_ast.CreateEnumerationType(
- attrs.name.GetStringRef(), GetClangDeclContextContainingDIE(die, nullptr),
- GetOwningClangModule(die), attrs.decl, enumerator_clang_type,
+ attrs.name.GetStringRef(), GetClangDeclContextContainingDIE(def_die, nullptr),
+ GetOwningClangModule(def_die), attrs.decl, enumerator_clang_type,
attrs.is_scoped_enum);
-
- LinkDeclContextToDIE(TypeSystemClang::GetDeclContextForType(clang_type), die);
-
- type_sp =
- dwarf->MakeType(die.GetID(), attrs.name, attrs.byte_size, nullptr,
+ TypeSP type_sp =
+ dwarf->MakeType(def_die.GetID(), attrs.name, attrs.byte_size, nullptr,
----------------
labath wrote:
Yes, that's a very good catch. I noticed the lack of a unique map in the enum implementation, but I just assumed that means we don't care about duplicate definitions for enums. (And to a sense that's true, since it still means we will create a duplicate definition if we start with two *definition* DIEs.)
This should be fairly simple to fix, I'll create a today.
https://github.com/llvm/llvm-project/pull/96484
More information about the lldb-commits
mailing list