diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-09-16 15:13:27 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-09-16 15:13:27 +0000 |
commit | c9b938062aae9c664f08f85c0bd0dd4213b59325 (patch) | |
tree | b08048acf2bb180f9bb07f11b13b5bbe8f083b04 | |
parent | 1625baba0ffe8cf3a825acc311341b5adab0f345 (diff) | |
download | ATCD-c9b938062aae9c664f08f85c0bd0dd4213b59325.tar.gz |
ChangeLogTag: Thu Sep 16 10:09:20 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 12 | ||||
-rw-r--r-- | TAO/TAO_IDL/util/utl_scope.cpp | 8 |
2 files changed, 18 insertions, 2 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index b52d4d0c3f9..9f69df84f57 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,15 @@ +Thu Sep 16 10:09:20 2004 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/util/utl_scope.cpp (lookup_by_name_local): + + Reverted inadvertent checkin that changed the scope iterator + instantiation parameters, and added a comment about why it + needs to be the way it is (for lookup of sequence parameter + in the deprecated declaration of a recursive type using an + anonymous sequence). Thanks to Johnny Willemsen + <jwillemsen@rememdy.nl> for reporting the problem in union.idl + of IDL_Test, which contains such a recursive union. + Thu Sep 16 09:28:10 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu> * orbsvcs/orbsvcs/PortableGroup/MIOP.cpp: diff --git a/TAO/TAO_IDL/util/utl_scope.cpp b/TAO/TAO_IDL/util/utl_scope.cpp index ddd109073fc..083cb626c64 100644 --- a/TAO/TAO_IDL/util/utl_scope.cpp +++ b/TAO/TAO_IDL/util/utl_scope.cpp @@ -1620,8 +1620,12 @@ UTL_Scope::lookup_by_name_local (Identifier *e, idl_bool in_corba = ACE_OS::strcmp (e->get_string (), "CORBA") == 0; - // Iterate over this scope. - for (UTL_ScopeActiveIterator i (this, UTL_Scope::IK_decls); + // Iterate over this scope. We need IK_both here for the legacy + // case where a recursive type is defined via an anonymous sequence. + // Looking up the anonymous sequence parameter succeeds only if + // references are included, since the decl for the (unfinished) + // enclosing type has not yet been added to the scope decls. + for (UTL_ScopeActiveIterator i (this, UTL_Scope::IK_both); !i.is_done (); i.next ()) { |