summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-05-15 20:29:28 +0000
committerAnders Carlsson <andersca@mac.com>2009-05-15 20:29:28 +0000
commit2cf4387931787df36699e976d811003d89ce5aff (patch)
treec4f12559ab5b33a1d272a65d5d0a048b755627f4 /clang/lib/Sema/SemaTemplateInstantiateStmt.cpp
parent1f911dce221e8519e5e06e710122433da9935935 (diff)
downloadbcm5719-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.cpp11
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));
}
OpenPOWER on IntegriCloud