summaryrefslogtreecommitdiffstats
path: root/clang/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'clang/CodeGen')
-rw-r--r--clang/CodeGen/CGExprComplex.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/CodeGen/CGExprComplex.cpp b/clang/CodeGen/CGExprComplex.cpp
index e4598c41f3d..d4e209476dd 100644
--- a/clang/CodeGen/CGExprComplex.cpp
+++ b/clang/CodeGen/CGExprComplex.cpp
@@ -92,7 +92,8 @@ public:
return EmitCast(E->getSubExpr(), E->getType());
}
ComplexPairTy VisitCallExpr(const CallExpr *E);
-
+ ComplexPairTy VisitStmtExpr(const StmtExpr *E);
+
// Operators.
ComplexPairTy VisitPrePostIncDec(const UnaryOperator *E,
bool isInc, bool isPre);
@@ -242,6 +243,10 @@ ComplexPairTy ComplexExprEmitter::VisitCallExpr(const CallExpr *E) {
return CGF.EmitCallExpr(E).getComplexVal();
}
+ComplexPairTy ComplexExprEmitter::VisitStmtExpr(const StmtExpr *E) {
+ return CGF.EmitCompoundStmt(*E->getSubStmt(), true).getComplexVal();
+}
+
/// EmitComplexToComplexCast - Emit a cast from complex value Val to DestType.
ComplexPairTy ComplexExprEmitter::EmitComplexToComplexCast(ComplexPairTy Val,
QualType SrcType,
OpenPOWER on IntegriCloud