diff options
| author | Eric Fiselier <eric@efcs.ca> | 2017-06-15 19:43:36 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2017-06-15 19:43:36 +0000 |
| commit | cddaf8728fd2786bf3af3a81814c2fe2b13d8692 (patch) | |
| tree | 1d69077933feed592a58949d2fd371a7c4e4bef9 /clang/lib/CodeGen/CGExpr.cpp | |
| parent | b560fdf3b84e18e3fb19d12cb2bd610dc2316118 (diff) | |
| download | bcm5719-llvm-cddaf8728fd2786bf3af3a81814c2fe2b13d8692.tar.gz bcm5719-llvm-cddaf8728fd2786bf3af3a81814c2fe2b13d8692.zip | |
[coroutines] Allow co_await and co_yield expressions that return an lvalue to compile
Summary:
The title says it all.
Reviewers: GorNishanov, rsmith
Reviewed By: GorNishanov
Subscribers: rjmccall, cfe-commits
Differential Revision: https://reviews.llvm.org/D34194
llvm-svn: 305496
Diffstat (limited to 'clang/lib/CodeGen/CGExpr.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGExpr.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp index 1b3103fd71f..15829888ead 100644 --- a/clang/lib/CodeGen/CGExpr.cpp +++ b/clang/lib/CodeGen/CGExpr.cpp @@ -1158,6 +1158,11 @@ LValue CodeGenFunction::EmitLValue(const Expr *E) { case Expr::MaterializeTemporaryExprClass: return EmitMaterializeTemporaryExpr(cast<MaterializeTemporaryExpr>(E)); + + case Expr::CoawaitExprClass: + return EmitCoawaitLValue(cast<CoawaitExpr>(E)); + case Expr::CoyieldExprClass: + return EmitCoyieldLValue(cast<CoyieldExpr>(E)); } } |

