From 3b35ed6de1a3daec9786da5912db8861f38e173e Mon Sep 17 00:00:00 2001 From: Michi Henning Date: Mon, 20 Oct 2003 23:30:13 +0000 Subject: Fixed bug in code generation for garbage collector: code for dictionaries wasn't correct. --- cpp/src/slice2cpp/Gen.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cpp/src/slice2cpp/Gen.cpp') diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index 809c03f943a..967a1c78556 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -2698,7 +2698,7 @@ Slice::Gen::ObjectVisitor::emitGCInsertCode(const TypePtr& p, const string& name C << nl << "for(" << scoped << "::const_iterator " << iterName << " = " << name << ".begin(); " << iterName << " != " << name << ".end(); ++" << iterName << ")"; C << sb; - emitGCInsertCode(d->valueType(), string("(*") + iterName + ")", "", ++level); + emitGCInsertCode(d->valueType(), string("(*") + iterName + ").second", "", ++level); C << eb; C << eb; return; @@ -2758,7 +2758,7 @@ Slice::Gen::ObjectVisitor::emitGCClearCode(const TypePtr& p, const string& name, C << nl << "for(" << scoped << "::iterator " << iterName << " = " << name << ".begin(); " << iterName << " != " << name << ".end(); ++" << iterName << ")"; C << sb; - emitGCClearCode(d->valueType(), string("(*") + iterName + ")", "", ++level); + emitGCClearCode(d->valueType(), string("(*") + iterName + ").second", "", ++level); C << eb; C << eb; return; -- cgit v1.2.3