summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-08-14 23:23:54 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-08-14 23:23:54 +0000
commita893eabe87e56413ec9edf4850978abfd153235d (patch)
treefd1551910fe453b5a08f622b8e84f97ab0e507c4
parent7771a1da12d5d7f486768e936a37de091f5cab7d (diff)
downloadATCD-a893eabe87e56413ec9edf4850978abfd153235d.tar.gz
ChangeLogTag: Sat Aug 14 18:17:59 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog13
-rw-r--r--TAO/TAO_IDL/be/be_interface.cpp4
2 files changed, 15 insertions, 2 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 7b1bb72cff3..2aea40b5fe4 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,16 @@
+Sat Aug 14 18:17:59 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_interface.cpp:
+
+ In the traversal of the inheritance graph for components, changed
+ the algorithm so that CCMObject is processed before the base
+ component, if any. This move ensures that, in the generated
+ copy constructor in the skeleton class of the equivalent interface,
+ the calls to base class copy constructors will be generated in
+ the correct order. For compilers that are strict about this,
+ the correct order is depth-first pre-order on the inheritance
+ tree.
+
Sat Aug 14 12:11:06 2004 Ossama Othman <ossama@dre.vanderbilt.edu>
* orbsvcs/orbsvcs/Event/ECG_UDP_Out_Endpoint.cpp (is_loopback):
diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp
index bbcdb44e5c7..0ff72dba1b7 100644
--- a/TAO/TAO_IDL/be/be_interface.cpp
+++ b/TAO/TAO_IDL/be/be_interface.cpp
@@ -1456,6 +1456,8 @@ be_interface::traverse_inheritance_graph (
// If we are doing a component, we check for a parent.
if (intf->node_type () == AST_Decl::NT_component)
{
+ (void) this->insert_non_dup (be_global->ccmobject ());
+
AST_Component *base =
AST_Component::narrow_from_decl (intf)->base_component ();
@@ -1472,8 +1474,6 @@ be_interface::traverse_inheritance_graph (
abstract_paths_only);
}
}
-
- (void) this->insert_non_dup (be_global->ccmobject ());
}
(void) this->insert_non_dup (intf, abstract_paths_only);