diff options
-rw-r--r-- | lldb/scripts/clang.complete-type-getObjCLayout.diff | 13 | ||||
-rw-r--r-- | lldb/scripts/clang.decl-printer-reference-type.diff | 13 |
2 files changed, 26 insertions, 0 deletions
diff --git a/lldb/scripts/clang.complete-type-getObjCLayout.diff b/lldb/scripts/clang.complete-type-getObjCLayout.diff new file mode 100644 index 00000000000..23609572540 --- /dev/null +++ b/lldb/scripts/clang.complete-type-getObjCLayout.diff @@ -0,0 +1,13 @@ +Index: lib/AST/RecordLayoutBuilder.cpp +=================================================================== +--- lib/AST/RecordLayoutBuilder.cpp (revision 152265) ++++ lib/AST/RecordLayoutBuilder.cpp (working copy) +@@ -2313,6 +2313,8 @@ + ASTContext::getObjCLayout(const ObjCInterfaceDecl *D, + const ObjCImplementationDecl *Impl) const { + // Retrieve the definition ++ if (D->hasExternalLexicalStorage() && !D->getDefinition()) ++ getExternalSource()->CompleteType(const_cast<ObjCInterfaceDecl*>(D)); + D = D->getDefinition(); + assert(D && D->isThisDeclarationADefinition() && "Invalid interface decl!"); + diff --git a/lldb/scripts/clang.decl-printer-reference-type.diff b/lldb/scripts/clang.decl-printer-reference-type.diff new file mode 100644 index 00000000000..b0150fee695 --- /dev/null +++ b/lldb/scripts/clang.decl-printer-reference-type.diff @@ -0,0 +1,13 @@ +Index: lib/AST/DeclPrinter.cpp +=================================================================== +--- lib/AST/DeclPrinter.cpp (revision 152772) ++++ lib/AST/DeclPrinter.cpp (working copy) +@@ -114,6 +114,8 @@ + BaseType = FTy->getResultType(); + else if (const VectorType *VTy = BaseType->getAs<VectorType>()) + BaseType = VTy->getElementType(); ++ else if (const ReferenceType *RTy = BaseType->getAs<ReferenceType>()) ++ BaseType = RTy->getPointeeType(); + else + llvm_unreachable("Unknown declarator!"); + } |