summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/ValueObject.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2012-03-30 02:04:38 +0000
committerSean Callanan <scallanan@apple.com>2012-03-30 02:04:38 +0000
commit356e17ce69b41905d9f9b2ce22d22dbde38e4022 (patch)
tree9a902d18d1dfdfd7d867dba44b0cd578e1617e60 /lldb/source/Core/ValueObject.cpp
parenta40d40602c758c81e8135a932423948949bdc759 (diff)
downloadbcm5719-llvm-356e17ce69b41905d9f9b2ce22d22dbde38e4022.tar.gz
bcm5719-llvm-356e17ce69b41905d9f9b2ce22d22dbde38e4022.zip
Be more careful when overriding the type for a
ValueObject, and make sure that ValueObjects that have null type names (because they have null types) also have null qualified type names. This avoids some potential crashes if ValueObject::GetQualifiedTypeName tries to get the name of their type by calling GetClangTypeImpl(). llvm-svn: 153718
Diffstat (limited to 'lldb/source/Core/ValueObject.cpp')
-rw-r--r--lldb/source/Core/ValueObject.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp
index a13c84b7c38..9e27dc0b164 100644
--- a/lldb/source/Core/ValueObject.cpp
+++ b/lldb/source/Core/ValueObject.cpp
@@ -275,7 +275,7 @@ ClangASTType
ValueObject::MaybeCalculateCompleteType ()
{
ClangASTType ret(GetClangASTImpl(), GetClangTypeImpl());
-
+
if (m_did_calculate_complete_objc_class_type)
{
if (m_override_type.IsValid())
@@ -349,7 +349,10 @@ ValueObject::MaybeCalculateCompleteType ()
m_override_type = complete_class;
}
- return m_override_type;
+ if (m_override_type.IsValid())
+ return m_override_type;
+ else
+ return ret;
}
clang::ASTContext *
OpenPOWER on IntegriCloud