summaryrefslogtreecommitdiffstats
path: root/clang/CodeGen/CGExprComplex.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-08-31 22:51:38 +0000
committerChris Lattner <sabre@nondot.org>2007-08-31 22:51:38 +0000
commit1c3ad19714cfae9e74183bdb37c4e7cb95d2bfcd (patch)
tree6e9c665aff1f109df95703efe56f96e8b36e71b2 /clang/CodeGen/CGExprComplex.cpp
parent4647a21825d2c48b5e7837a13d16c4a7cc93c359 (diff)
downloadbcm5719-llvm-1c3ad19714cfae9e74183bdb37c4e7cb95d2bfcd.tar.gz
bcm5719-llvm-1c3ad19714cfae9e74183bdb37c4e7cb95d2bfcd.zip
add support for complex stmtexpr's
llvm-svn: 41661
Diffstat (limited to 'clang/CodeGen/CGExprComplex.cpp')
-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