diff options
Diffstat (limited to 'clang/lib/Parse/ParseExprCXX.cpp')
-rw-r--r-- | clang/lib/Parse/ParseExprCXX.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseExprCXX.cpp b/clang/lib/Parse/ParseExprCXX.cpp index 477594b5a16..f8938ba3495 100644 --- a/clang/lib/Parse/ParseExprCXX.cpp +++ b/clang/lib/Parse/ParseExprCXX.cpp @@ -1568,7 +1568,8 @@ ExprResult Parser::ParseCoyieldExpression() { assert(Tok.is(tok::kw_co_yield) && "Not co_yield!"); SourceLocation Loc = ConsumeToken(); - ExprResult Expr = ParseAssignmentExpression(); + ExprResult Expr = Tok.is(tok::l_brace) ? ParseBraceInitializer() + : ParseAssignmentExpression(); if (!Expr.isInvalid()) Expr = Actions.ActOnCoyieldExpr(getCurScope(), Loc, Expr.get()); return Expr; |