From 223f487efb87e4284818c068056917a679ebbe6b Mon Sep 17 00:00:00 2001 From: Jose Date: Mon, 14 Mar 2011 15:17:58 +0100 Subject: 4815 - out["cpp:array"] generates C++ doesn't compile. --- cpp/src/slice2cpp/Gen.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'cpp/src/slice2cpp/Gen.cpp') diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index a20ab684b07..03c5b30210f 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -2466,7 +2466,7 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p) // delegate. // bool generatePrivateEnd = retS != retSEndAMI || outParamsDeclAMI != outParamsDeclEndAMI; - if(generatePrivateEnd) + if(ret && generatePrivateEnd) { string typeStringEndAMI = outputTypeToString(ret, p->getMetaData(), _useWstring | TypeContextAMIPrivateEnd); outParamsDeclEndAMI.push_back(typeStringEndAMI + ' ' + "__ret"); @@ -5445,7 +5445,12 @@ Slice::Gen::AsyncCallbackTemplateVisitor::generateOperation(const OperationPtr& } else { - H << "__proxy->___end_" << p->name() << spar << outEndArgs << retEndArg << "__result" << epar << ';'; + H << "__proxy->___end_" << p->name() << spar << outEndArgs; + if(ret) + { + H << retEndArg; + } + H << "__result" << epar << ';'; } writeEndCode(H, outParams, ret, p->getMetaData()); H << eb; @@ -7008,7 +7013,7 @@ Slice::Gen::MetaDataVisitor::validate(const SyntaxTreeBasePtr& cont, const Strin } if(SequencePtr::dynamicCast(cont)) { - if(ss.find("type:") == 0 || (inParam && (ss == "array" || ss.find("range") == 0))) + if(ss.find("type:") == 0 || ss == "array" || ss.find("range") == 0) { continue; } -- cgit v1.2.3