summaryrefslogtreecommitdiffstats
path: root/lldb/scripts
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2012-05-21 17:54:55 +0000
committerSean Callanan <scallanan@apple.com>2012-05-21 17:54:55 +0000
commit66ad3bcb16b37985fc5872ed45b174c92a6408d2 (patch)
tree7488a22c95172181eb9f59ee2c684881ae1dd0d9 /lldb/scripts
parent937bcb2de67fae17e7e6f4b1ab321be02afe871e (diff)
downloadbcm5719-llvm-66ad3bcb16b37985fc5872ed45b174c92a6408d2.tar.gz
bcm5719-llvm-66ad3bcb16b37985fc5872ed45b174c92a6408d2.zip
Integrated a check into Clang that make sure that
it doesn't try to call LookupDestructor on an incomplete class. llvm-svn: 157199
Diffstat (limited to 'lldb/scripts')
-rw-r--r--lldb/scripts/clang.amalgamated.diff18
1 files changed, 18 insertions, 0 deletions
diff --git a/lldb/scripts/clang.amalgamated.diff b/lldb/scripts/clang.amalgamated.diff
index b42cdac7af4..7f26063e002 100644
--- a/lldb/scripts/clang.amalgamated.diff
+++ b/lldb/scripts/clang.amalgamated.diff
@@ -814,6 +814,24 @@ Index: lib/Sema/SemaExprCXX.cpp
} else if (ObjCArrayLiteral *ArrayLit = dyn_cast<ObjCArrayLiteral>(E)) {
D = ArrayLit->getArrayWithObjectsMethod();
} else if (ObjCDictionaryLiteral *DictLit
+@@ -4529,6 +4529,17 @@
+ if (RD->isInvalidDecl() || RD->isDependentContext())
+ return Owned(E);
+
++ if (!RD->getDefinition()) {
++ if (RD->hasExternalLexicalStorage()) {
++ ExternalASTSource *ext_source = RD->getASTContext().getExternalSource();
++ if (ext_source)
++ ext_source->CompleteType(RD);
++ }
++ }
++
++ if (!RD->getDefinition())
++ return Owned(E);
++
+ bool IsDecltype = ExprEvalContexts.back().IsDecltype;
+ CXXDestructorDecl *Destructor = IsDecltype ? 0 : LookupDestructor(RD);
+
Index: lib/Sema/SemaExceptionSpec.cpp
===================================================================
--- lib/Sema/SemaExceptionSpec.cpp (revision 152265)
OpenPOWER on IntegriCloud