diff options
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp b/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp index 9703b55a0f4..bdf0aff984d 100644 --- a/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_operation/upcall_command_ss.cpp @@ -189,7 +189,9 @@ be_visitor_operation_upcall_command_ss::visit (be_operation * node, << "}" << be_nl << be_nl; // Generate execute() method. - os << "virtual void execute (void)" << be_nl + os << "virtual void execute (" + << (be_global->use_raw_throw () ? "void" : "ACE_ENV_SINGLE_ARG_DECL") + << ")" << be_nl << "{" << be_idt_nl; if (!node->void_return_type ()) @@ -385,6 +387,15 @@ be_visitor_operation_upcall_command_ss::gen_upcall (be_operation * node) << (i == 0 ? "" : ", ") << "arg_" << i + 1; } + if (count > 0) + { + os << env_arg; + } + else + { + os << env_sngl_arg; + } + os << ");"; if (!node->void_return_type ()) @@ -393,7 +404,7 @@ be_visitor_operation_upcall_command_ss::gen_upcall (be_operation * node) } os << be_uidt - << be_uidt_nl; + << TAO_ACE_CHECK () << be_uidt_nl; return 0; } |