diff options
| author | Douglas Gregor <dgregor@apple.com> | 2011-08-09 00:37:14 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2011-08-09 00:37:14 +0000 |
| commit | 34f6c6db2625bec1845315e59202d37d3d202d87 (patch) | |
| tree | 878e8b06635ab170ec9815c45a8dcc9a84de2ccf /clang/lib/CodeGen | |
| parent | b24a1d29cbebac5d689826a25371368f07a343c0 (diff) | |
| download | bcm5719-llvm-34f6c6db2625bec1845315e59202d37d3d202d87.tar.gz bcm5719-llvm-34f6c6db2625bec1845315e59202d37d3d202d87.zip | |
Hand materialization of temporary expressions when emitting a scalar
expression. Fxies PR10592.
llvm-svn: 137086
Diffstat (limited to 'clang/lib/CodeGen')
| -rw-r--r-- | clang/lib/CodeGen/CGExprScalar.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGExprScalar.cpp b/clang/lib/CodeGen/CGExprScalar.cpp index 524d79e131d..4038be27926 100644 --- a/clang/lib/CodeGen/CGExprScalar.cpp +++ b/clang/lib/CodeGen/CGExprScalar.cpp @@ -343,6 +343,11 @@ public: } // C++ + Value *VisitMaterializeTemporaryExpr(const MaterializeTemporaryExpr *E) { + RValue RV = CGF.EmitLoadOfLValue(CGF.EmitLValue(E->GetTemporaryExpr())); + return RV.getScalarVal(); + } + Value *VisitCXXDefaultArgExpr(CXXDefaultArgExpr *DAE) { return Visit(DAE->getExpr()); } |

