summaryrefslogtreecommitdiffstats
path: root/clang/CodeGen/CGExprAgg.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-08-31 22:54:14 +0000
committerChris Lattner <sabre@nondot.org>2007-08-31 22:54:14 +0000
commit49e3bfa8a496dc0d808f8d83c0dda0163d3b3138 (patch)
treec0bf03223f61cc4d538ea9720d33d065cc591625 /clang/CodeGen/CGExprAgg.cpp
parent1c3ad19714cfae9e74183bdb37c4e7cb95d2bfcd (diff)
downloadbcm5719-llvm-49e3bfa8a496dc0d808f8d83c0dda0163d3b3138.tar.gz
bcm5719-llvm-49e3bfa8a496dc0d808f8d83c0dda0163d3b3138.zip
add stmtexpr support for aggregates
llvm-svn: 41662
Diffstat (limited to 'clang/CodeGen/CGExprAgg.cpp')
-rw-r--r--clang/CodeGen/CGExprAgg.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/CodeGen/CGExprAgg.cpp b/clang/CodeGen/CGExprAgg.cpp
index 8ae6f695e87..7ade1330511 100644
--- a/clang/CodeGen/CGExprAgg.cpp
+++ b/clang/CodeGen/CGExprAgg.cpp
@@ -67,6 +67,7 @@ public:
// case Expr::ImplicitCastExprClass:
// case Expr::CastExprClass:
// case Expr::CallExprClass:
+ void VisitStmtExpr(const StmtExpr *E);
void VisitBinaryOperator(const BinaryOperator *BO);
void VisitBinAssign(const BinaryOperator *E);
@@ -128,6 +129,10 @@ void AggExprEmitter::EmitAggLoadOfLValue(const Expr *E) {
// Visitor Methods
//===----------------------------------------------------------------------===//
+void AggExprEmitter::VisitStmtExpr(const StmtExpr *E) {
+ CGF.EmitCompoundStmt(*E->getSubStmt(), true, DestPtr, VolatileDest);
+}
+
void AggExprEmitter::VisitBinaryOperator(const BinaryOperator *E) {
fprintf(stderr, "Unimplemented aggregate binary expr!\n");
E->dump();
OpenPOWER on IntegriCloud