summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkirthika <kirthika@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-07-14 20:49:15 +0000
committerkirthika <kirthika@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-07-14 20:49:15 +0000
commit30a2b4cfcb20859a8562c416985f6f78ae667abe (patch)
tree213a94b3f44713beeed4b868d85cad5ff1fc9be0
parent357f3547ed8bc51c70bdfdccedc2e7341776bd2a (diff)
downloadATCD-30a2b4cfcb20859a8562c416985f6f78ae667abe.tar.gz
changed the updation of the resul tto be like the return of the
operation as in this same file
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp
index 545f771d67a..6fb09b7ba7b 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_cs.cpp
@@ -732,7 +732,7 @@ be_visitor_operation_cs::gen_marshal_and_invoke (be_operation *node,
{
*os << " ri.result (";
// get the return val
- ctx = *this->ctx_;
+ /* ctx = *this->ctx_;
ctx.state (TAO_CodeGen::TAO_OPERATION_RETVAL_PRE_INVOKE_CS);
ctx.sub_state (TAO_CodeGen::TAO_CDR_INPUT);
visitor = tao_cg->make_visitor (&ctx);
@@ -744,7 +744,17 @@ be_visitor_operation_cs::gen_marshal_and_invoke (be_operation *node,
"gen_marshal_and_invoke - "
"codegen for return var failed\n"),
-1);
+ }*/
+ if (bt->size_type () == be_decl::VARIABLE
+ || bt->base_node_type () == AST_Decl::NT_array)
+ {
+ *os << "_tao_safe_retval.in ();";
}
+ else
+ {
+ *os << "_tao_retval;";
+ }
+
*os <<");" << be_nl;
}