From f36d0a664debcd8697d5debca9d912512cac2480 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 5 Aug 2014 12:49:12 +0200 Subject: Make _clone() for polymorphic custom type base pure virtual --- xsd/cxx/tree/tree-source.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'xsd/cxx/tree/tree-source.cxx') 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" -- cgit v1.1