From 3b717527f4e41337e90ef47f743543f25cb4949c Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Thu, 21 Aug 2014 20:51:13 +0000 Subject: Return statements are initialization; don't forget to revert the initializer to its syntactic form before re-analyzing it during template instantiation. llvm-svn: 216224 --- clang/lib/Sema/TreeTransform.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'clang/lib/Sema/TreeTransform.h') diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index a0524bd2284..4ba7bdf3da5 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -5821,7 +5821,8 @@ TreeTransform::TransformBreakStmt(BreakStmt *S) { template StmtResult TreeTransform::TransformReturnStmt(ReturnStmt *S) { - ExprResult Result = getDerived().TransformExpr(S->getRetValue()); + ExprResult Result = getDerived().TransformInitializer(S->getRetValue(), + /*NotCopyInit*/false); if (Result.isInvalid()) return StmtError(); -- cgit v1.2.3