================
@@ -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,
----------------
ZequanWu wrote:
If two different enum decl_die (reference the same definition def_die) were
called with this function, doesn't it create two `CompilerType` and two `Type`
from the same def_die? It's not a problem for `ParseStructureLikeDIE` because
it will check if we have already created the type in `UniqueDWARFASTTypeMap`.
https://github.com/llvm/llvm-project/pull/96484
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits