summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExpr.cpp
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2017-06-15 19:43:36 +0000
committerEric Fiselier <eric@efcs.ca>2017-06-15 19:43:36 +0000
commitcddaf8728fd2786bf3af3a81814c2fe2b13d8692 (patch)
tree1d69077933feed592a58949d2fd371a7c4e4bef9 /clang/lib/CodeGen/CGExpr.cpp
parentb560fdf3b84e18e3fb19d12cb2bd610dc2316118 (diff)
downloadbcm5719-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.cpp5
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));
}
}
OpenPOWER on IntegriCloud