diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-08-14 23:23:54 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-08-14 23:23:54 +0000 |
commit | a893eabe87e56413ec9edf4850978abfd153235d (patch) | |
tree | fd1551910fe453b5a08f622b8e84f97ab0e507c4 | |
parent | 7771a1da12d5d7f486768e936a37de091f5cab7d (diff) | |
download | ATCD-a893eabe87e56413ec9edf4850978abfd153235d.tar.gz |
ChangeLogTag: Sat Aug 14 18:17:59 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 13 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_interface.cpp | 4 |
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); |