Author: gclayton Date: Tue Apr 5 14:29:05 2016 New Revision: 265443 URL: http://llvm.org/viewvc/llvm-project?rev=265443&view=rev Log: Fix a crasher that could happen if ClangASTSource::CompleteType() found a type whose name matched, but came from a different language. We need to verify that any types we find are clang types before trying to extra a clang::QualType and then use it.
<rdar://problem/24138711> Modified: lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp Modified: lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp?rev=265443&r1=265442&r2=265443&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp (original) +++ lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp Tue Apr 5 14:29:05 2016 @@ -275,7 +275,7 @@ ClangASTSource::CompleteType (TagDecl *t CompilerType clang_type (type->GetFullCompilerType ()); - if (!clang_type) + if (!ClangUtil::IsClangType(clang_type)) continue; const TagType *tag_type = ClangUtil::GetQualType(clang_type)->getAs<TagType>(); @@ -315,7 +315,7 @@ ClangASTSource::CompleteType (TagDecl *t CompilerType clang_type (type->GetFullCompilerType ()); - if (!clang_type) + if (!ClangUtil::IsClangType(clang_type)) continue; const TagType *tag_type = ClangUtil::GetQualType(clang_type)->getAs<TagType>(); @@ -2053,7 +2053,7 @@ NameSearchContext::AddGenericFunDecl() clang::NamedDecl * NameSearchContext::AddTypeDecl(const CompilerType &clang_type) { - if (clang_type) + if (ClangUtil::IsClangType(clang_type)) { QualType qual_type = ClangUtil::GetQualType(clang_type); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits