diff options
| author | Sean Callanan <scallanan@apple.com> | 2012-05-21 17:54:55 +0000 |
|---|---|---|
| committer | Sean Callanan <scallanan@apple.com> | 2012-05-21 17:54:55 +0000 |
| commit | 66ad3bcb16b37985fc5872ed45b174c92a6408d2 (patch) | |
| tree | 7488a22c95172181eb9f59ee2c684881ae1dd0d9 /lldb/scripts | |
| parent | 937bcb2de67fae17e7e6f4b1ab321be02afe871e (diff) | |
| download | bcm5719-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.diff | 18 |
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) |

