summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-04-21 19:13:04 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-04-21 19:13:04 +0000
commitd4ff90aeea158f3737d3f1d734fe058079bfbf7b (patch)
tree9c010a452f20fd14bef9e96af546e717d1d773a7
parent14e440f86748c093af458d87e9ce7fbc10009de4 (diff)
downloadATCD-d4ff90aeea158f3737d3f1d734fe058079bfbf7b.tar.gz
ChangeLogTag: Mon Apr 21 14:09:21 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog_ref8
-rw-r--r--TAO/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp11
2 files changed, 16 insertions, 3 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref
index b0bbcd34fb5..5074ca735bc 100644
--- a/TAO/ChangeLog_ref
+++ b/TAO/ChangeLog_ref
@@ -1,3 +1,11 @@
+Mon Apr 21 14:09:21 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp:
+
+ Fixed CDR operator generation for sequence of Object. Thanks to
+ Bala <bala@dre.vanderbilt.ed> for pointing out the problem in
+ code generation for PortableGroup.
+
Mon Apr 21 13:11:07 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
* tests/AMH_Exceptions/Makefile:
diff --git a/TAO/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp b/TAO/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp
index 388e021b90e..c791b79e573 100644
--- a/TAO/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp
@@ -531,10 +531,11 @@ be_visitor_sequence_cdr_op_cs::visit_node (be_type *bt)
}
AST_Decl::NodeType nt = bt->node_type ();
+ be_typedef *td = 0;
if (nt == AST_Decl::NT_typedef)
{
- be_typedef *td = be_typedef::narrow_from_decl (bt);
+ td = be_typedef::narrow_from_decl (bt);
nt = td->base_node_type ();
}
@@ -641,7 +642,9 @@ be_visitor_sequence_cdr_op_cs::visit_node (be_type *bt)
// We need to separately handle this case of pseudo objects
// because they have a _var type.
be_predefined_type *pt =
- be_predefined_type::narrow_from_decl (bt);
+ be_predefined_type::narrow_from_decl (
+ td == 0 ? bt : td->primitive_base_type ()
+ );
if (!pt)
{
@@ -792,7 +795,9 @@ be_visitor_sequence_cdr_op_cs::visit_node (be_type *bt)
case AST_Decl::NT_pre_defined:
{
be_predefined_type *pt =
- be_predefined_type::narrow_from_decl (bt);
+ be_predefined_type::narrow_from_decl (
+ td == 0 ? bt : td->primitive_base_type ()
+ );
if (!pt)
{