diff options
| author | Nuno Lopes <nunoplopes@sapo.pt> | 2009-10-18 15:18:11 +0000 |
|---|---|---|
| committer | Nuno Lopes <nunoplopes@sapo.pt> | 2009-10-18 15:18:11 +0000 |
| commit | ff3507b951df7bd8f346ce538934db50a964357c (patch) | |
| tree | a76fba51bc64242ac9a5bd4723022b245e105212 /clang/lib | |
| parent | 451a665336fe36e2da641510bc8185d410886cfb (diff) | |
| download | bcm5719-llvm-ff3507b951df7bd8f346ce538934db50a964357c.tar.gz bcm5719-llvm-ff3507b951df7bd8f346ce538934db50a964357c.zip | |
add support for codegening CXXZeroInitValueExprs
llvm-svn: 84418
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/CodeGen/CGExprAgg.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGExprAgg.cpp b/clang/lib/CodeGen/CGExprAgg.cpp index 01f719386c7..88fdb542f3c 100644 --- a/clang/lib/CodeGen/CGExprAgg.cpp +++ b/clang/lib/CodeGen/CGExprAgg.cpp @@ -112,6 +112,7 @@ public: void VisitCXXBindTemporaryExpr(CXXBindTemporaryExpr *E); void VisitCXXConstructExpr(const CXXConstructExpr *E); void VisitCXXExprWithTemporaries(CXXExprWithTemporaries *E); + void VisitCXXZeroInitValueExpr(CXXZeroInitValueExpr *E); void VisitVAArgExpr(VAArgExpr *E); @@ -439,6 +440,11 @@ void AggExprEmitter::VisitCXXExprWithTemporaries(CXXExprWithTemporaries *E) { CGF.EmitCXXExprWithTemporaries(E, DestPtr, VolatileDest, IsInitializer); } +void AggExprEmitter::VisitCXXZeroInitValueExpr(CXXZeroInitValueExpr *E) { + LValue lvalue = LValue::MakeAddr(DestPtr, Qualifiers()); + EmitNullInitializationToLValue(lvalue, E->getType()); +} + void AggExprEmitter::EmitInitializationToLValue(Expr* E, LValue LV) { // FIXME: Ignore result? // FIXME: Are initializers affected by volatile? |

