From e488cc27eb20e1b96cb0751249b19236a7e373ea Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 14 Nov 2013 12:08:03 +0200 Subject: Drop support for aCC3 --- NEWS | 2 ++ dist/examples/build/cxx/compilers.make | 16 ++--------- dist/examples/build/cxx/rules.make | 18 +++---------- libxsd/xsd/cxx/parser/xerces/elements.txx | 6 +---- libxsd/xsd/cxx/tree/containers.hxx | 8 ------ libxsd/xsd/cxx/tree/elements.hxx | 6 ----- libxsd/xsd/cxx/tree/list.hxx | 3 +-- libxsd/xsd/cxx/tree/types.hxx | 15 +---------- libxsd/xsd/cxx/tree/types.txx | 28 ++------------------ libxsd/xsd/cxx/xml/dom/parsing-source.txx | 24 ++--------------- libxsd/xsd/cxx/xml/dom/serialization-header.txx | 8 +----- libxsd/xsd/cxx/xml/dom/serialization-source.txx | 18 ++----------- xsd/cxx/tree/parser-source.cxx | 20 +++----------- xsd/cxx/tree/serialization-source.cxx | 35 +++++-------------------- xsd/cxx/tree/stream-source.cxx | 2 -- xsd/cxx/tree/tree-source.cxx | 12 ++------- 16 files changed, 29 insertions(+), 192 deletions(-) diff --git a/NEWS b/NEWS index b3f0465..e5d63ba 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,8 @@ Version 4.0.0 * Visual Studio 2003 (7.1) is no longer supported. + * HP aCC3 (HP-UX/PA-RISC) is no longer supported. + * Oracle/Berkeley DB XML support has been removed since the Xerces-C++- based document access is no longer supported. diff --git a/dist/examples/build/cxx/compilers.make b/dist/examples/build/cxx/compilers.make index fb9dc45..9f6e64a 100644 --- a/dist/examples/build/cxx/compilers.make +++ b/dist/examples/build/cxx/compilers.make @@ -65,27 +65,15 @@ endif # HP C++ (aCC) # -# aCC3 and aCC6 are two very different compilers so we will call them -# hp3 and hp6. -# - -# 3 -ifeq ($(cxx_id),) -ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^[^ ]* HP ANSI C.. .* A\.03\..*$$//'),) -cxx_id := hp3 -endif -endif - -# 6 ifeq ($(cxx_id),) ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^[^ ]* HP aC..\/ANSI C .* A\.06\..*$$//'),) -cxx_id := hp6 +cxx_id := hp endif endif ifeq ($(cxx_id),) ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^[^ ]* HP C\/aC.. .* A\.06\..*$$//'),) -cxx_id := hp6 +cxx_id := hp endif endif diff --git a/dist/examples/build/cxx/rules.make b/dist/examples/build/cxx/rules.make index 541d700..c510168 100644 --- a/dist/examples/build/cxx/rules.make +++ b/dist/examples/build/cxx/rules.make @@ -32,23 +32,11 @@ ifeq ($(cxx_id),sun) endif -# HP aCC3 +# HP aCC # -ifeq ($(cxx_id),hp3) +ifeq ($(cxx_id),hp) - # By default Xerces-C++ is built with -mt for aCC3. - # 849 : symbol to long, truncated to 4000 - # 1039: incompatible vtable layout - # - CXXFLAGS := -AA -O -mt +W849 +W1039 -endif - - -# HP aCC6 -# -ifeq ($(cxx_id),hp6) - - # By default Xerces-C++ is built with -mt for aCC6. + # By default Xerces-C++ is built with -mt for aCC. # 2334 no suitable copy constructor (e.g., for std::auto_ptr) # CXXFLAGS := -Aa -O -mt +W2334 diff --git a/libxsd/xsd/cxx/parser/xerces/elements.txx b/libxsd/xsd/cxx/parser/xerces/elements.txx index bc7f1e5..60b6c6d 100644 --- a/libxsd/xsd/cxx/parser/xerces/elements.txx +++ b/libxsd/xsd/cxx/parser/xerces/elements.txx @@ -572,11 +572,7 @@ namespace xsd std::auto_ptr document:: create_sax_ (flags f, const properties& p) { - // HP aCC cannot handle using namespace xercesc; - // - using xercesc::SAX2XMLReader; - using xercesc::XMLReaderFactory; - using xercesc::XMLUni; + using namespace xercesc; std::auto_ptr sax ( XMLReaderFactory::createXMLReader ()); diff --git a/libxsd/xsd/cxx/tree/containers.hxx b/libxsd/xsd/cxx/tree/containers.hxx index b460dd8..e6b9f88 100644 --- a/libxsd/xsd/cxx/tree/containers.hxx +++ b/libxsd/xsd/cxx/tree/containers.hxx @@ -252,9 +252,6 @@ namespace xsd bool present_; }; - - // Note that I cannot get rid of fund because of HP aCC3. - // template ::r> class optional; @@ -527,14 +524,9 @@ namespace xsd // Sequence. // - - // Note that I cannot get rid of 'fund' because HP aCC3 likes it - // this way. - // template ::r> class sequence; - // Sun CC's does not have iterator_traits. To overcome // this, we will wrap std::iterator_traits into our own and also // specialize it for pointer types. Since Sun CC uses pointer diff --git a/libxsd/xsd/cxx/tree/elements.hxx b/libxsd/xsd/cxx/tree/elements.hxx index 040284f..17ad70c 100644 --- a/libxsd/xsd/cxx/tree/elements.hxx +++ b/libxsd/xsd/cxx/tree/elements.hxx @@ -208,12 +208,6 @@ namespace xsd typedef user_data_keys_template<0> user_data_keys; - // HP aCC3 complains about unresolved symbols without an explicit - // instantiation. - // -#if defined(__HP_aCC) && __HP_aCC <= 39999 - template struct user_data_keys_template<0>; -#endif // // struct identity diff --git a/libxsd/xsd/cxx/tree/list.hxx b/libxsd/xsd/cxx/tree/list.hxx index 0a455cf..df65de9 100644 --- a/libxsd/xsd/cxx/tree/list.hxx +++ b/libxsd/xsd/cxx/tree/list.hxx @@ -22,8 +22,7 @@ namespace xsd namespace tree { // Class template for xsd:list mapping. Based on the sequence - // template. Note that I cannot get rid of 'fund' because HP - // aCC3 likes it this way. + // template. // template techniques. - // template void id:: _container (container* c) @@ -210,11 +205,6 @@ namespace xsd return new idref (*this, f, c); } - // It would have been cleaner to mention empty, _root, etc. with - // the using-declaration but HP aCC3 can't handle it in some - // non-trivial to track down cases. So we are going to use the - // old-n-ugly this-> techniques. - // template const _type* idref:: get_ () const @@ -320,18 +310,11 @@ namespace xsd return new base64_binary (*this, f, c); } - // It would have been cleaner to mention size, and data with the - // using-declaration but HP aCC3 can't handle it in some non- - // trivial to track down cases. So we are going to use the - // old-n- ugly this-> techniques. - // template std::basic_string base64_binary:: encode () const { - // HP aCC3 cannot handle using namespace xercesc; - // - using xercesc::Base64; + using namespace xercesc; std::basic_string str; XMLSize_t n; @@ -365,9 +348,7 @@ namespace xsd void base64_binary:: decode (const XMLCh* src) { - // HP aCC3 cannot handle using namespace xercesc; - // - using xercesc::Base64; + using namespace xercesc; xml::std_memory_manager mm; XMLSize_t size; @@ -433,11 +414,6 @@ namespace xsd return new hex_binary (*this, f, c); } - // It would have been cleaner to mention size, and data with the - // using-declaration but HP aCC3 can't handle it in some non- - // trivial to track down cases. So we are going to use the - // old-n-ugly this-> techniques. - // template std::basic_string hex_binary:: encode () const diff --git a/libxsd/xsd/cxx/xml/dom/parsing-source.txx b/libxsd/xsd/cxx/xml/dom/parsing-source.txx index cde2179..d2152ac 100644 --- a/libxsd/xsd/cxx/xml/dom/parsing-source.txx +++ b/libxsd/xsd/cxx/xml/dom/parsing-source.txx @@ -85,18 +85,7 @@ namespace xsd const properties& prop, unsigned long flags) { - // HP aCC cannot handle using namespace xercesc; - // - using xercesc::DOMImplementationRegistry; - using xercesc::DOMImplementationLS; - using xercesc::DOMImplementation; - using xercesc::DOMDocument; - using xercesc::DOMLSParser; - using xercesc::DOMConfiguration; - - using xercesc::Wrapper4InputSource; - using xercesc::XMLUni; - + using namespace xercesc; // Instantiate the DOM parser. // @@ -240,16 +229,7 @@ namespace xsd const properties& prop, unsigned long flags) { - // HP aCC cannot handle using namespace xercesc; - // - using xercesc::DOMImplementationRegistry; - using xercesc::DOMImplementationLS; - using xercesc::DOMImplementation; - using xercesc::DOMDocument; - using xercesc::DOMLSParser; - using xercesc::DOMConfiguration; - using xercesc::XMLUni; - + using namespace xercesc; // Instantiate the DOM parser. // diff --git a/libxsd/xsd/cxx/xml/dom/serialization-header.txx b/libxsd/xsd/cxx/xml/dom/serialization-header.txx index cce3c52..9cea4b0 100644 --- a/libxsd/xsd/cxx/xml/dom/serialization-header.txx +++ b/libxsd/xsd/cxx/xml/dom/serialization-header.txx @@ -121,13 +121,7 @@ namespace xsd void clear (xercesc::DOMElement& e) { - // HP aCC cannot handle using namespace xercesc; - // - using xercesc::DOMNode; - using xercesc::DOMAttr; - using xercesc::DOMNamedNodeMap; - using xercesc::XMLString; - using xercesc::SchemaSymbols; + using namespace xercesc; // Remove child nodes. // diff --git a/libxsd/xsd/cxx/xml/dom/serialization-source.txx b/libxsd/xsd/cxx/xml/dom/serialization-source.txx index da0dbb7..7de5ca0 100644 --- a/libxsd/xsd/cxx/xml/dom/serialization-source.txx +++ b/libxsd/xsd/cxx/xml/dom/serialization-source.txx @@ -116,15 +116,8 @@ namespace xsd const namespace_infomap& map, unsigned long) { - // HP aCC cannot handle using namespace xercesc; - // - using xercesc::DOMImplementationRegistry; - using xercesc::DOMImplementation; - using xercesc::DOMDocument; - using xercesc::DOMElement; + using namespace xercesc; - // - // typedef std::basic_string string; typedef namespace_infomap infomap; typedef typename infomap::const_iterator infomap_iterator; @@ -291,14 +284,7 @@ namespace xsd xercesc::DOMErrorHandler& eh, unsigned long flags) { - // HP aCC cannot handle using namespace xercesc; - // - using xercesc::DOMImplementationRegistry; - using xercesc::DOMImplementation; - using xercesc::DOMLSSerializer; - using xercesc::DOMConfiguration; - using xercesc::DOMLSOutput; - using xercesc::XMLUni; + using namespace xercesc; const XMLCh ls[] = {xercesc::chLatin_L, xercesc::chLatin_S, diff --git a/xsd/cxx/tree/parser-source.cxx b/xsd/cxx/tree/parser-source.cxx index 881a2df..362e9e6 100644 --- a/xsd/cxx/tree/parser-source.cxx +++ b/xsd/cxx/tree/parser-source.cxx @@ -333,15 +333,9 @@ namespace CXX if (poly) { - // aCC cannot handle an inline call to type_factory_map_instance. - // - os << "::xsd::cxx::tree::type_factory_map< " << char_type << - " >& tfm (" << endl + os << "::std::auto_ptr< ::xsd::cxx::tree::type > tmp (" << endl << "::xsd::cxx::tree::type_factory_map_instance< " << - poly_plate << ", " << char_type << " > ());" - << endl - << "::std::auto_ptr< ::xsd::cxx::tree::type > tmp (" << endl - << "tfm.create (" << endl + poly_plate << ", " << char_type << " > ().create (" << endl << strlit (e.name ()) << "," << endl << strlit (e.namespace_().name ()) << "," << endl << "&::xsd::cxx::tree::factory_impl< " << type << " >," << endl @@ -431,15 +425,9 @@ namespace CXX if (poly) { - // aCC cannot handle an inline call to type_factory_map_instance. - // - os << "::xsd::cxx::tree::type_factory_map< " << char_type << - " >& tfm (" << endl + os << "::std::auto_ptr< ::xsd::cxx::tree::type > tmp (" << endl << "::xsd::cxx::tree::type_factory_map_instance< " << - poly_plate << ", " << char_type << " > ());" - << endl - << "::std::auto_ptr< ::xsd::cxx::tree::type > tmp (" << endl - << "tfm.create (" << endl + poly_plate << ", " << char_type << " > ().create (" << endl << strlit (e.name ()) << "," << endl << strlit (e.namespace_().name ()) << "," << endl << "&::xsd::cxx::tree::factory_impl< " << type << " >," << endl diff --git a/xsd/cxx/tree/serialization-source.cxx b/xsd/cxx/tree/serialization-source.cxx index 49369c8..f4d5eac 100644 --- a/xsd/cxx/tree/serialization-source.cxx +++ b/xsd/cxx/tree/serialization-source.cxx @@ -312,8 +312,6 @@ namespace CXX os << "// " << comment (e.name ()) << endl << "//" << endl; - // aCC cannot handle an inline call to type_serializer_map_instance. - // if (poly) { os << "{" @@ -1144,18 +1142,11 @@ namespace CXX if (poly) { - // aCC cannot handle an inline call to - // type_serializer_map_instance. - // os << "}" << "else" << "{" - << "::xsd::cxx::tree::type_serializer_map< " << char_type - << " >& tsm (" << endl << "::xsd::cxx::tree::type_serializer_map_instance< " << - poly_plate << ", " << char_type << " > ());" - << endl - << "tsm.serialize (" << endl + poly_plate << ", " << char_type << " > ().serialize (" << endl << strlit (e.name ()) << "," << endl << strlit (e.namespace_().name ()) << "," << endl << "e, n, s);" @@ -1175,37 +1166,23 @@ namespace CXX if (poly) { - // aCC cannot handle an inline call to - // type_serializer_map_instance as well as the direct - // auto_ptr assignment. - // os << dom_auto_ptr << "< " << xerces_ns << "::DOMDocument > d;" << endl << "if (typeid (" << type_name (e) << ") == typeid (s))" << "{" - << dom_auto_ptr << "< " << xerces_ns << - "::DOMDocument > r (" << endl - << "::xsd::cxx::xml::dom::serialize< " << + << "d = ::xsd::cxx::xml::dom::serialize< " << char_type << " > (" << endl << strlit (e.name ()) << "," << endl << strlit (ns) << "," << endl - << "m, f));" - << "d = r;" + << "m, f);" << "}" << "else" << "{" - << "::xsd::cxx::tree::type_serializer_map< " << char_type - << " >& tsm (" << endl - << "::xsd::cxx::tree::type_serializer_map_instance< " << - poly_plate << ", " << char_type << " > ());" - << endl - << dom_auto_ptr << "< " << xerces_ns << - "::DOMDocument > r (" << endl - << "tsm.serialize (" << endl + << "d = ::xsd::cxx::tree::type_serializer_map_instance< " << + poly_plate << ", " << char_type << " > ().serialize (" << endl << strlit (e.name ()) << "," << endl << strlit (e.namespace_().name ()) << "," << endl - << "m, s, f));" - << "d = r;" + << "m, s, f);" << "}"; } else diff --git a/xsd/cxx/tree/stream-source.cxx b/xsd/cxx/tree/stream-source.cxx index a070ae7..23cb473 100644 --- a/xsd/cxx/tree/stream-source.cxx +++ b/xsd/cxx/tree/stream-source.cxx @@ -234,8 +234,6 @@ namespace CXX SemanticGraph::Type& t (e.type ()); bool poly (polymorphic && polymorphic_p (t) && !anonymous_p (t)); - // aCC cannot handle an inline call to std_ostream_map_instance. - // if (poly) { os << "{" diff --git a/xsd/cxx/tree/tree-source.cxx b/xsd/cxx/tree/tree-source.cxx index 9c40b5d..8f41a37 100644 --- a/xsd/cxx/tree/tree-source.cxx +++ b/xsd/cxx/tree/tree-source.cxx @@ -720,16 +720,10 @@ namespace CXX if (poly) { - // aCC cannot handle an inline call to type_factory_map_instance. - // os << "{" - << "::xsd::cxx::tree::type_factory_map< " << char_type << - " >& tfm (" << endl - << "::xsd::cxx::tree::type_factory_map_instance< " << - poly_plate << ", " << char_type << " > ());" - << endl << "::std::auto_ptr< ::xsd::cxx::tree::type > tmp (" << endl - << "tfm.create (" << endl + << "::xsd::cxx::tree::type_factory_map_instance< " << + poly_plate << ", " << char_type << " > ().create (" << endl << strlit (e.name ()) << "," << endl << (e.qualified_p () ? strlit (e.namespace_ ().name ()) @@ -1879,8 +1873,6 @@ namespace CXX } else { - // aCC cannot handle an inline call to comparison_map_instance. - // os << "{" << "::xsd::cxx::tree::comparison_map< " << char_type << " >& cm (" << endl -- cgit v1.1