summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_array/array_ch.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_array/array_ch.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_array/array_ch.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_array/array_ch.cpp b/TAO/TAO_IDL/be/be_visitor_array/array_ch.cpp
index 9923d6f7ee9..e965d27c1db 100644
--- a/TAO/TAO_IDL/be/be_visitor_array/array_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_array/array_ch.cpp
@@ -122,7 +122,7 @@ int be_visitor_array_ch::visit_array (be_array *node)
}
}
- *os << be_nl << be_nl
+ *os << be_nl << be_nl
<< "typedef ";
if (bt->accept (this) == -1)
@@ -199,9 +199,9 @@ int be_visitor_array_ch::visit_array (be_array *node)
}
*os << ";";
-
+
*os << be_nl
- << "struct " << anon_p << node->nested_type_name (scope, "_tag")
+ << "struct " << anon_p << node->nested_type_name (scope, "_tag")
<< " {};";
// No _var or _out class for an anonymous (non-typedef'd) array.
@@ -307,6 +307,12 @@ int be_visitor_array_ch::visit_array (be_array *node)
<< "const ";
*os << node->nested_type_name (scope, "_slice")
<< " *_tao_from" << be_uidt_nl
+ << ");" << be_uidt << be_nl;
+ *os << storage_class << "void" << be_nl
+ << node->nested_type_name (scope, "_zero")
+ << " (" << be_idt << be_idt_nl;
+ *os << node->nested_type_name (scope, "_slice") << " *_tao_slice"
+ << be_uidt_nl
<< ");" << be_uidt;
}
else
@@ -339,6 +345,12 @@ int be_visitor_array_ch::visit_array (be_array *node)
*os << node->nested_type_name (scope, "_slice", "_")
<< " *_tao_from" << be_uidt_nl
<< ");" << be_uidt;
+ *os << storage_class << "void" << be_nl
+ << node->nested_type_name (scope, "_zero", "_")
+ << " (" << be_idt << be_idt_nl;
+ *os << node->nested_type_name (scope, "_slice", "_")
+ << " *_tao_slice" << be_uidt_nl
+ << ");" << be_uidt;
}
// Generate the endif macro.