summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-12-17 19:08:05 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-12-17 19:08:05 +0000
commitb0c83a40ff0ce32c20b2261eaed223ab2135b0e1 (patch)
tree419dd91f23ae254a9c990c942ccfff0fd403b9df
parentf1bfb59c2a126dbe0431e80319153ec4046cfe35 (diff)
downloadATCD-b0c83a40ff0ce32c20b2261eaed223ab2135b0e1.tar.gz
ChangeLogTag: Tue Dec 17 13:06:06 2002 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog7
-rw-r--r--TAO/TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp15
2 files changed, 15 insertions, 7 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index cdbf3ee87f8..83e6c132d58 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,10 @@
+Tue Dec 17 13:06:06 2002 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp:
+
+ Fixed an error in the logic that caused a problem with
+ an array of array.
+
Sat Dec 14 22:30:22 2002 Jeff Parsons <j.parsons@vanderbilt.edu>
* orbsvcs/orbsvcs/IFRService/IRObject_i.cpp (update_key):
diff --git a/TAO/TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp b/TAO/TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp
index 44d96c095d3..c733cce3e09 100644
--- a/TAO/TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp
@@ -44,6 +44,14 @@ be_visitor_array_cdr_op_ci::~be_visitor_array_cdr_op_ci (void)
int
be_visitor_array_cdr_op_ci::visit_array (be_array *node)
{
+ if (this->ctx_->alias ())
+ {
+ // We are here because we are visiting base type
+ // of the array node which is itself an
+ // array, i.e., this is a case of array of array.
+ return this->visit_node (node);
+ }
+
if (node->cli_inline_cdr_op_gen () || node->imported ())
{
return 0;
@@ -85,13 +93,6 @@ be_visitor_array_cdr_op_ci::visit_array (be_array *node)
return 0;
}
- if (this->ctx_->alias ())
- {
- // We are here because the base type of the array node is itself an
- // array, i.e., this is a case of array of array.
- return this->visit_node (node);
- }
-
be_type *bt = be_type::narrow_from_decl (node->base_type ());
if (!bt)