summaryrefslogtreecommitdiff
path: root/TAO_IDL/be/be_visitor_root/root_cs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO_IDL/be/be_visitor_root/root_cs.cpp')
-rw-r--r--TAO_IDL/be/be_visitor_root/root_cs.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/TAO_IDL/be/be_visitor_root/root_cs.cpp b/TAO_IDL/be/be_visitor_root/root_cs.cpp
index 3a293267f84..8548f3fb939 100644
--- a/TAO_IDL/be/be_visitor_root/root_cs.cpp
+++ b/TAO_IDL/be/be_visitor_root/root_cs.cpp
@@ -136,10 +136,17 @@ be_visitor_root_cs::gen_any_ops (be_root *node)
int
be_visitor_root_cs::gen_cdr_ops (be_root *node)
{
- be_visitor_context ctx = *this->ctx_;
- ctx.state (TAO_CodeGen::TAO_ROOT_CDR_OP_CS);
- be_visitor_root_cdr_op visitor (&ctx);
- return node->accept (&visitor);
+ int status = 0;
+
+ if (be_global->cdr_support ())
+ {
+ be_visitor_context ctx = *this->ctx_;
+ ctx.state (TAO_CodeGen::TAO_ROOT_CDR_OP_CS);
+ be_visitor_root_cdr_op visitor (&ctx);
+ status = node->accept (&visitor);
+ }
+
+ return status;
}