This revision was automatically updated to reflect the committed changes.
Closed by commit rL248571: Eliminate a potential crash in the struct layout
code with a gracefull fallback (authored by tberghammer).
Changed prior to commit:
http://reviews.llvm.org/D12963?vs=35084&id=35717#toc
Repository:
rL LLVM
http://reviews.llvm.org/D12963
Files:
lldb/trunk/source/Expression/ClangASTSource.cpp
Index: lldb/trunk/source/Expression/ClangASTSource.cpp
===================================================================
--- lldb/trunk/source/Expression/ClangASTSource.cpp
+++ lldb/trunk/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: lldb/trunk/source/Expression/ClangASTSource.cpp
===================================================================
--- lldb/trunk/source/Expression/ClangASTSource.cpp
+++ lldb/trunk/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
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits