diff options
Diffstat (limited to 'xsd/cxx/tree/tree-source.cxx')
-rw-r--r-- | xsd/cxx/tree/tree-source.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/xsd/cxx/tree/tree-source.cxx b/xsd/cxx/tree/tree-source.cxx index 5720dbd..96a0286 100644 --- a/xsd/cxx/tree/tree-source.cxx +++ b/xsd/cxx/tree/tree-source.cxx @@ -2296,7 +2296,8 @@ namespace CXX // If renamed name is empty then we do not need to generate // anything for this type. // - if (renamed_type (c, name) && !name) + bool renamed (renamed_type (c, name)); + if (renamed && !name) return; SemanticGraph::Context& ctx (c.context ()); @@ -3317,7 +3318,8 @@ namespace CXX // _clone // - if (!c.abstract_p ()) + if (!(c.abstract_p () || + (renamed && polymorphic && polymorphic_p (c)))) os << name << "* " << name << "::" << endl << "_clone (" << flags_type << " f," << endl << container << "* c) const" |