Decay array/function types of a statement-expression.
// rdar: // 8600553.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117484 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp
index 1f50b4e..17a3aff 100644
--- a/lib/Sema/SemaExpr.cpp
+++ b/lib/Sema/SemaExpr.cpp
@@ -7071,9 +7071,8 @@
       LastStmt = Label->getSubStmt();
     }
     if (Expr *LastExpr = dyn_cast<Expr>(LastStmt)) {
+      DefaultFunctionArrayLvalueConversion(LastExpr);
       Ty = LastExpr->getType();
-      if (Ty->isArrayType())
-        Ty = Context.getArrayDecayedType(Ty);
       if (!Ty->isDependentType() && !LastExpr->isTypeDependent()) {
         ExprResult Res = PerformCopyInitialization(
                             InitializedEntity::InitializeResult(LPLoc,