diff options
author | Anders Carlsson <andersca@mac.com> | 2009-05-15 20:29:28 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-05-15 20:29:28 +0000 |
commit | 2cf4387931787df36699e976d811003d89ce5aff (patch) | |
tree | c4f12559ab5b33a1d272a65d5d0a048b755627f4 /clang/lib/Sema/SemaTemplateInstantiateStmt.cpp | |
parent | 1f911dce221e8519e5e06e710122433da9935935 (diff) | |
download | bcm5719-llvm-2cf4387931787df36699e976d811003d89ce5aff.tar.gz bcm5719-llvm-2cf4387931787df36699e976d811003d89ce5aff.zip |
I take it back, InstantiateExpr does not check for null.
llvm-svn: 71887
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiateStmt.cpp')
-rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiateStmt.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp b/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp index 8bdb42b58f6..957402ac6f6 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp @@ -98,10 +98,13 @@ Sema::OwningStmtResult TemplateStmtInstantiator::VisitGotoStmt(GotoStmt *S) { Sema::OwningStmtResult TemplateStmtInstantiator::VisitReturnStmt(ReturnStmt *S) { - Sema::OwningExprResult Result = - SemaRef.InstantiateExpr(S->getRetValue(), TemplateArgs); - if (Result.isInvalid()) - return SemaRef.StmtError(); + Sema::OwningExprResult Result = SemaRef.ExprEmpty(); + if (Expr *E = S->getRetValue()) { + Result = SemaRef.InstantiateExpr(E, TemplateArgs); + + if (Result.isInvalid()) + return SemaRef.StmtError(); + } return SemaRef.ActOnReturnStmt(S->getReturnLoc(), move(Result)); } |