I've got a case where functions in source/Symbol/Type.cpp are calling each
other recursively, and it's blowing the stack.
SymbolFileDWARF::ParseType calls GetClangForwardType():
ClangASTType array_element_type = element_type->GetClangForwardType();
Type::GetClangForwardType() calls ResolveClangType():
ClangASTType
Type::GetClangForwardType ()
{
ResolveClangType (eResolveStateForward);
return m_clang_type;
}
Type::ResolveClangType() calls GetName():
case eEncodingIsTypedefUID:
m_clang_type =
encoding_type->GetClangForwardType().CreateTypedefType
(GetName().AsCString(),
GetSymbolFile()->GetClangDeclContextContainingTypeUID(GetID()));
m_name.Clear();
break;
Type::GetName() calls GetClangForwardType();
const ConstString &
Type::GetName()
{
if (!m_name)
m_name = GetClangForwardType().GetConstTypeName();
return m_name;
}
And we go on and on, GetClangForwardType() -> ResolveClangType() ->
GetName() -> GetClangForwardType()->. .
Any thoughts on how to fix this?
Ted
--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a
Linux Foundation Collaborative Project
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev