]> granicus.if.org Git - clang/commitdiff
add support for complex stmtexpr's
authorChris Lattner <sabre@nondot.org>
Fri, 31 Aug 2007 22:51:38 +0000 (22:51 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 31 Aug 2007 22:51:38 +0000 (22:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41661 91177308-0d34-0410-b5e6-96231b3b80d8

CodeGen/CGExprComplex.cpp

index e4598c41f3d89fab66303651cd7a368f0e157e6a..d4e209476dd4e6124ba3cc77d340e705c5856234 100644 (file)
@@ -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,