tberghammer created this revision. tberghammer added a reviewer: spyffe. tberghammer added a subscriber: lldb-commits.
Eliminate a potential crash in the struct layout code with a gracefull fallback http://reviews.llvm.org/D12963 Files: source/Expression/ClangASTSource.cpp Index: source/Expression/ClangASTSource.cpp =================================================================== --- source/Expression/ClangASTSource.cpp +++ source/Expression/ClangASTSource.cpp @@ -1674,7 +1674,8 @@ ClangASTContext::GetCompleteDecl(&origin_record->getASTContext(), const_cast<RecordDecl*>(origin_record.decl)); - if (!origin_record.decl->getDefinition()) + clang::RecordDecl* definition = origin_record.decl->getDefinition(); + if (!definition || !definition->isCompleteDefinition()) return false; const ASTRecordLayout &record_layout(origin_record->getASTContext().getASTRecordLayout(origin_record.decl));
Index: source/Expression/ClangASTSource.cpp =================================================================== --- source/Expression/ClangASTSource.cpp +++ source/Expression/ClangASTSource.cpp @@ -1674,7 +1674,8 @@ ClangASTContext::GetCompleteDecl(&origin_record->getASTContext(), const_cast<RecordDecl*>(origin_record.decl)); - if (!origin_record.decl->getDefinition()) + clang::RecordDecl* definition = origin_record.decl->getDefinition(); + if (!definition || !definition->isCompleteDefinition()) return false; const ASTRecordLayout &record_layout(origin_record->getASTContext().getASTRecordLayout(origin_record.decl));
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits