Skip to content

Commit 7ce7c9e

Browse files
authored
Merge pull request #2309 from mitza-oci/warnings
Use =default for skeleton copy constructor
2 parents 5997007 + 88df791 commit 7ce7c9e

File tree

7 files changed

+4
-132
lines changed

7 files changed

+4
-132
lines changed

TAO/TAO_IDL/be/be_interface.cpp

-39
Original file line numberDiff line numberDiff line change
@@ -2227,45 +2227,6 @@ be_interface::is_a_helper (be_interface * /*derived*/,
22272227
return 0;
22282228
}
22292229

2230-
int
2231-
be_interface::copy_ctor_helper (be_interface *derived,
2232-
be_interface *base,
2233-
TAO_OutStream *os)
2234-
{
2235-
// We can't call ourselves in a copy constructor, and
2236-
// abstract interfaces don't exist on the skeleton side.
2237-
if (derived == base || base->is_abstract () || derived->nmembers () > 0)
2238-
{
2239-
return 0;
2240-
}
2241-
2242-
*os << "," << be_idt_nl;
2243-
2244-
bool is_rh_base =
2245-
(ACE_OS::strcmp (base->flat_name (), "Messaging_ReplyHandler") == 0);
2246-
2247-
if (is_rh_base)
2248-
{
2249-
*os << "::POA_Messaging::ReplyHandler (rhs)";
2250-
}
2251-
else if (base->is_nested ())
2252-
{
2253-
be_decl *scope = nullptr;
2254-
scope = dynamic_cast<be_scope*> (base->defined_in ())->decl ();
2255-
2256-
*os << "POA_" << scope->name () << "::"
2257-
<< base->local_name () << " (rhs)";
2258-
}
2259-
else
2260-
{
2261-
*os << base->full_skel_name () << " (rhs)";
2262-
}
2263-
2264-
*os << be_uidt;
2265-
2266-
return 0;
2267-
}
2268-
22692230
int
22702231
be_interface::in_mult_inheritance_helper (be_interface *derived,
22712232
be_interface *base,

TAO/TAO_IDL/be/be_visitor_interface/interface_ih.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ be_visitor_interface_ih::visit_interface (be_interface *node)
8181
<< be_global->impl_class_prefix () << namebuf
8282
<< be_global->impl_class_suffix () << " (const "
8383
<< be_global->impl_class_prefix () << namebuf
84-
<< be_global->impl_class_suffix () << "&);" <<be_nl <<be_nl;
84+
<< be_global->impl_class_suffix () << "&) = default;" <<be_nl <<be_nl;
8585
}
8686

8787
if (be_global->gen_assign_op ())

TAO/TAO_IDL/be/be_visitor_interface/interface_is.cpp

-46
Original file line numberDiff line numberDiff line change
@@ -62,52 +62,6 @@ be_visitor_interface_is::visit_interface (be_interface *node)
6262
*os << "{" <<be_nl;
6363
*os << "}" << be_nl_2;
6464

65-
if (be_global->gen_copy_ctor () && !node->is_local ())
66-
{
67-
*os << "//Implementation Skeleton Copy Constructor" << be_nl;
68-
69-
*os << be_global->impl_class_prefix () << node->flat_name ()
70-
<< be_global->impl_class_suffix () <<"::"
71-
<< be_global->impl_class_prefix () << node->flat_name ()
72-
<< be_global->impl_class_suffix () << " (const "
73-
<< be_global->impl_class_prefix () << node->flat_name ()
74-
<< be_global->impl_class_suffix () << "& rhs)" << be_idt_nl
75-
<< ": TAO_Abstract_ServantBase (rhs)," << be_nl
76-
<< " TAO_ServantBase (rhs)";
77-
78-
if (node->traverse_inheritance_graph (be_interface::copy_ctor_helper,
79-
os)
80-
== -1)
81-
{
82-
ACE_ERROR_RETURN ((LM_ERROR,
83-
"be_visitor_interface_is::visit_interface - "
84-
" copy ctor generation failed\n"),
85-
-1);
86-
}
87-
88-
if (!node->is_local ())
89-
{
90-
*os << "," << be_nl;
91-
92-
if (node->is_nested ())
93-
{
94-
be_decl *scope = nullptr;
95-
scope = dynamic_cast<be_scope*> (node->defined_in ())->decl ();
96-
97-
*os << " POA_" << scope->name () << "::"
98-
<< node->local_name () << " (rhs)";
99-
}
100-
else
101-
{
102-
*os << " " << node->full_skel_name () << " (rhs)";
103-
}
104-
}
105-
106-
*os << be_uidt_nl
107-
<< "{" << be_nl
108-
<< "}" << be_nl << be_uidt_nl;
109-
}
110-
11165
if (be_global->gen_assign_op ())
11266
{
11367
*os << "//Implementation Skeleton Copy Assignment" << be_nl;

TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ be_visitor_interface_sh::visit_interface (be_interface *node)
115115

116116
// Copy constructor and destructor.
117117
*os << class_name.c_str () << " (const "
118-
<< class_name.c_str () << "& rhs);" << be_nl
118+
<< class_name.c_str () << "& rhs) = default;" << be_nl
119119
<< "virtual ~" << class_name.c_str () << " () = default;" << be_nl_2;
120120

121121
// _is_a

TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp

+1-37
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,7 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
109109
<< local_name_prefix << node_local_name
110110
<< " ()";
111111

112-
bool const init_bases = node->nmembers () == 0;
113-
if (init_bases)
112+
if (node->nmembers () == 0)
114113
{
115114
*os << be_idt_nl << ": TAO_ServantBase ()" << be_uidt_nl;
116115
}
@@ -125,33 +124,6 @@ be_visitor_interface_ss::visit_interface (be_interface *node)
125124
<< "_optable);" << be_uidt_nl
126125
<< "}" << be_nl_2;
127126

128-
// find if we are at the top scope or inside some module
129-
*os << full_skel_name << "::"
130-
<< local_name_prefix << node_local_name << " ("
131-
<< "const " << local_name_prefix
132-
<< node_local_name << " &"
133-
<< (init_bases ? "rhs" : "") << ")";
134-
135-
if (init_bases)
136-
{
137-
*os << be_idt_nl
138-
<< ": TAO_Abstract_ServantBase (rhs)," << be_nl
139-
<< " TAO_ServantBase (rhs)";
140-
}
141-
142-
if (this->generate_copy_ctor (node, os) == -1)
143-
{
144-
ACE_ERROR_RETURN ((LM_ERROR,
145-
ACE_TEXT ("be_visitor_interface_ss::")
146-
ACE_TEXT ("visit_interface - ")
147-
ACE_TEXT (" copy ctor generation failed\n")),
148-
-1);
149-
}
150-
151-
*os << be_uidt_nl
152-
<< "{" << be_nl
153-
<< "}" << be_nl_2;
154-
155127
// Generate code for elements in the scope (e.g., operations).
156128
if (this->visit_scope (node) == -1)
157129
{
@@ -456,14 +428,6 @@ be_visitor_interface_ss::generate_proxy_classes (be_interface *node)
456428
return 0;
457429
}
458430

459-
int
460-
be_visitor_interface_ss::generate_copy_ctor (be_interface *node,
461-
TAO_OutStream *os)
462-
{
463-
return node->traverse_inheritance_graph (be_interface::copy_ctor_helper,
464-
os);
465-
}
466-
467431
ACE_CString
468432
be_visitor_interface_ss::generate_flat_name (be_interface *node)
469433
{

TAO/TAO_IDL/be_include/be_interface.h

-6
Original file line numberDiff line numberDiff line change
@@ -177,12 +177,6 @@ class be_interface : public virtual AST_Interface,
177177
be_interface *,
178178
TAO_OutStream *os);
179179

180-
/// Helper method passed to the template method to invoke ctors of all the
181-
/// base classes.
182-
static int copy_ctor_helper (be_interface *,
183-
be_interface *,
184-
TAO_OutStream *os);
185-
186180
/// Helper method to determine if the interface node is involved in some kind
187181
/// of multiple inheritance or not. Required on the skeleton side.
188182
static int in_mult_inheritance_helper (be_interface *,

TAO/TAO_IDL/be_include/be_visitor_interface/interface_ss.h

+1-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ class be_visitor_interface_ss : public be_visitor_interface
4545

4646
virtual int generate_amh_classes (be_interface *node);
4747
virtual int generate_proxy_classes (be_interface *node);
48-
virtual int generate_copy_ctor (be_interface *node,
49-
TAO_OutStream *os);
48+
5049
virtual ACE_CString generate_flat_name (be_interface *node);
5150
virtual ACE_CString generate_local_name (be_interface *node);
5251
virtual ACE_CString generate_full_skel_name (be_interface *node);

0 commit comments

Comments
 (0)