summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-10-22 22:22:44 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-10-22 22:22:44 +0000
commitc1563a2fdb2ec8256b21cb12e23e104e093511ab (patch)
treee089d3ed25a1a4da257ad6eee587c3112cd2feb5
parentd71b1ae3b96f05371a58e4b8aa918f81a5945ca7 (diff)
downloadATCD-c1563a2fdb2ec8256b21cb12e23e104e093511ab.tar.gz
ChangeLogTag: Tue Oct 22 17:18:34 2002 Jeff Parsons <parsons@isis-server.isis.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog9
-rw-r--r--TAO/TAO_IDL/util/utl_identifier.cpp5
-rw-r--r--TAO/TAO_IDL/util/utl_scope.cpp7
3 files changed, 20 insertions, 1 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index c4f6f9ac203..b9d732bad03 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,12 @@
+Tue Oct 22 17:18:34 2002 Jeff Parsons <parsons@isis-server.isis.vanderbilt.edu>
+
+ * TAO_IDL/util/utl_identifier.cpp:
+ * TAO_IDL/util/utl_scope.cpp:
+
+ Fixed a bug in handling the 'Object' keyword when it is
+ escaped. Thanks to Ole Husgaard <osh@sparre.dk> for reporting
+ the bug. This closes [BUGID:1324].
+
Tue Oct 22 15:11:09 2002 Nanbor Wang <nanbor@cs.wustl.edu>
* orbsvcs/orbsvcs/AV.dsp:
diff --git a/TAO/TAO_IDL/util/utl_identifier.cpp b/TAO/TAO_IDL/util/utl_identifier.cpp
index 367c1e467f2..e92f5cf609a 100644
--- a/TAO/TAO_IDL/util/utl_identifier.cpp
+++ b/TAO/TAO_IDL/util/utl_identifier.cpp
@@ -159,6 +159,11 @@ Identifier::compare (Identifier *o)
return I_FALSE;
}
+ if ((this->escaped_ ^ o->escaped_) == 1)
+ {
+ return I_FALSE;
+ }
+
return (ACE_OS::strcmp (this->pv_string, o->get_string ()) == 0);
}
diff --git a/TAO/TAO_IDL/util/utl_scope.cpp b/TAO/TAO_IDL/util/utl_scope.cpp
index 86378c4a8ea..133098c8a25 100644
--- a/TAO/TAO_IDL/util/utl_scope.cpp
+++ b/TAO/TAO_IDL/util/utl_scope.cpp
@@ -1186,6 +1186,11 @@ UTL_Scope::call_add (void)
AST_Decl *
UTL_Scope::lookup_pseudo (Identifier *e)
{
+ if (e->escaped ())
+ {
+ return 0;
+ }
+
Identifier *item_name = 0;
AST_Decl *d = 0;
UTL_ScopeActiveIterator *i = 0;
@@ -1893,7 +1898,7 @@ UTL_Scope::add_to_scope (AST_Decl *e,
// First, make sure there's no clash between e, that was
// just declared, and some other identifier referenced
// in this scope.
- for (; i > 0; i--, tmp++)
+ for (; i > 0; --i, ++tmp)
{
// A local declaration doesn't use a scoped name.
ref_name = (*tmp)->local_name ();