diff options
author | Jose <jose@zeroc.com> | 2008-12-30 17:27:45 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2008-12-30 17:27:45 +0100 |
commit | 1427930866fc6d5d08fc572a13a37e023b5b0ff6 (patch) | |
tree | 60afd6848c8580cf188f79fa51dbcc4903e9b678 /cpp/src/slice2cpp/Gen.cpp | |
parent | Nrvo demo fixes (diff) | |
download | ice-1427930866fc6d5d08fc572a13a37e023b5b0ff6.tar.bz2 ice-1427930866fc6d5d08fc572a13a37e023b5b0ff6.tar.xz ice-1427930866fc6d5d08fc572a13a37e023b5b0ff6.zip |
Fix 3619 - Generated code for IceDelegateM not support gcc NRVO optimization
Diffstat (limited to 'cpp/src/slice2cpp/Gen.cpp')
-rw-r--r-- | cpp/src/slice2cpp/Gen.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index 0d7747e0879..e06977b4ed0 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -2624,6 +2624,7 @@ Slice::Gen::DelegateMVisitor::visitOperation(const OperationPtr& p) } C << nl << "bool __ok = __og.invoke();"; + writeAllocateCode(C, ParamDeclList(), ret, p->getMetaData(), _useWstring); if(!p->returnsData()) { C << nl << "if(!__og.is()->b.empty())"; @@ -2687,7 +2688,6 @@ Slice::Gen::DelegateMVisitor::visitOperation(const OperationPtr& p) C << eb; C << eb; - writeAllocateCode(C, ParamDeclList(), ret, p->getMetaData(), _useWstring); for(ParamDeclList::const_iterator opi = outParams.begin(); opi != outParams.end(); ++opi) { StructPtr st = StructPtr::dynamicCast((*opi)->type()); |