summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-04-29 16:37:13 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-04-29 16:37:13 +0000
commit7f5013c5c02c35699042567555b5f7a953b0642d (patch)
tree7df9944dd847dc0c6e68cfa2ed5f22e059f6ffb9
parent422947562990f76c310da3f8f05aefebdd21a47d (diff)
downloadATCD-7f5013c5c02c35699042567555b5f7a953b0642d.tar.gz
ChangeLogTag: Tue Apr 29 10:58:45 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog6
-rw-r--r--TAO/TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp21
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;
}
}
}