From d4ff90aeea158f3737d3f1d734fe058079bfbf7b Mon Sep 17 00:00:00 2001 From: parsons Date: Mon, 21 Apr 2003 19:13:04 +0000 Subject: ChangeLogTag: Mon Apr 21 14:09:21 2003 Jeff Parsons --- TAO/ChangeLog_ref | 8 ++++++++ TAO/TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp | 11 ++++++++--- 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 + + * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: + + Fixed CDR operator generation for sequence of Object. Thanks to + Bala for pointing out the problem in + code generation for PortableGroup. + Mon Apr 21 13:11:07 2003 Balachandran Natarajan * 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) { -- cgit v1.2.1