summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorErik Pilkington <erik.pilkington@gmail.com>2019-04-02 19:48:07 +0000
committerErik Pilkington <erik.pilkington@gmail.com>2019-04-02 19:48:07 +0000
commit3299ead8e9ff3d65ff133518d4df84dc2a424c72 (patch)
treefbb2aa02caa8f98a5eca7e3c87664f741c434980 /clang/lib/CodeGen
parent0fd3c68c1a753f947fd91d5aad3a366234fb6f3d (diff)
downloadbcm5719-llvm-3299ead8e9ff3d65ff133518d4df84dc2a424c72.tar.gz
bcm5719-llvm-3299ead8e9ff3d65ff133518d4df84dc2a424c72.zip
[CodeGen] Fix a regression by emitting lambda expressions in EmitLValue
This ability was removed in r351487, but it's needed when a lambda appears as an OpaqueValueExpr subexpression of a PseudoObjectExpr. rdar://49030379 Differential revision: https://reviews.llvm.org/D60099 llvm-svn: 357515
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGExpr.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp
index f19af3343b5..80a40dfa6c8 100644
--- a/clang/lib/CodeGen/CGExpr.cpp
+++ b/clang/lib/CodeGen/CGExpr.cpp
@@ -1294,6 +1294,8 @@ LValue CodeGenFunction::EmitLValue(const Expr *E) {
return EmitCXXBindTemporaryLValue(cast<CXXBindTemporaryExpr>(E));
case Expr::CXXUuidofExprClass:
return EmitCXXUuidofLValue(cast<CXXUuidofExpr>(E));
+ case Expr::LambdaExprClass:
+ return EmitAggExprToLValue(E);
case Expr::ExprWithCleanupsClass: {
const auto *cleanups = cast<ExprWithCleanups>(E);
OpenPOWER on IntegriCloud