diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-04-29 16:37:13 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-04-29 16:37:13 +0000 |
commit | 7f5013c5c02c35699042567555b5f7a953b0642d (patch) | |
tree | 7df9944dd847dc0c6e68cfa2ed5f22e059f6ffb9 | |
parent | 422947562990f76c310da3f8f05aefebdd21a47d (diff) | |
download | ATCD-7f5013c5c02c35699042567555b5f7a953b0642d.tar.gz |
ChangeLogTag: Tue Apr 29 10:58:45 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 6 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp | 21 |
2 files changed, 15 insertions, 12 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 5fe5a95d627..b10231225da 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -4,7 +4,11 @@ Tue Apr 29 10:58:45 2003 Jeff Parsons <j.parsons@vanderbilt.edu> Removed unused argument and moved the setting of a flag to the end of the method in which it appears more than once, so that - the second check will not return a bogus value. + the second check will not return a bogus value. Also changed + the logic so nested anonymous sequences (such as + sequence<sequence<short> >) will get one and only one explicit + instantiation, even if it is used more than once in a translation + unit. Tue Apr 29 16:13:46 2003 Simon McQueen <sm@prismtechnologies.com> diff --git a/TAO/TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp b/TAO/TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp index 3c8687dc1ba..b89e8d4613a 100644 --- a/TAO/TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp +++ b/TAO/TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp @@ -216,20 +216,19 @@ int be_visitor_sequence_cs::visit_sequence (be_sequence *node) be_typedef *td = be_typedef::narrow_from_decl (bt); nt = td->base_node_type (); } - + } - if (! bt->seen_in_sequence ()) + if (! bt->seen_in_sequence ()) + { + // basic IDL types are in TAO. Sequences of (w)strings in TAO are + // specializations and so are not template classes. + if (nt != AST_Decl::NT_pre_defined + && nt != AST_Decl::NT_string + && nt != AST_Decl::NT_wstring) { - // basic IDL types are in TAO. Sequences of (w)strings in TAO are - // specializations and so are not template classes. - if (nt != AST_Decl::NT_pre_defined - && nt != AST_Decl::NT_string - && nt != AST_Decl::NT_wstring) + if (this->gen_base_class_tmplinst (node, bt) == -1) { - if (this->gen_base_class_tmplinst (node, bt) == -1) - { - return -1; - } + return -1; } } } |