summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--dist/examples/build/cxx/compilers.make16
-rw-r--r--dist/examples/build/cxx/rules.make18
-rw-r--r--libxsd/xsd/cxx/parser/xerces/elements.txx6
-rw-r--r--libxsd/xsd/cxx/tree/containers.hxx8
-rw-r--r--libxsd/xsd/cxx/tree/elements.hxx6
-rw-r--r--libxsd/xsd/cxx/tree/list.hxx3
-rw-r--r--libxsd/xsd/cxx/tree/types.hxx15
-rw-r--r--libxsd/xsd/cxx/tree/types.txx28
-rw-r--r--libxsd/xsd/cxx/xml/dom/parsing-source.txx24
-rw-r--r--libxsd/xsd/cxx/xml/dom/serialization-header.txx8
-rw-r--r--libxsd/xsd/cxx/xml/dom/serialization-source.txx18
-rw-r--r--xsd/cxx/tree/parser-source.cxx20
-rw-r--r--xsd/cxx/tree/serialization-source.cxx35
-rw-r--r--xsd/cxx/tree/stream-source.cxx2
-rw-r--r--xsd/cxx/tree/tree-source.cxx12
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<xercesc::SAX2XMLReader> document<C>::
create_sax_ (flags f, const properties<C>& p)
{
- // HP aCC cannot handle using namespace xercesc;
- //
- using xercesc::SAX2XMLReader;
- using xercesc::XMLReaderFactory;
- using xercesc::XMLUni;
+ using namespace xercesc;
std::auto_ptr<SAX2XMLReader> 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 <typename T, bool fund = fundamental_p<T>::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 <typename T, bool fund = fundamental_p<T>::r>
class sequence;
-
// Sun CC's <iterator> 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 <typename T,
typename C,
diff --git a/libxsd/xsd/cxx/tree/types.hxx b/libxsd/xsd/cxx/tree/types.hxx
index 5afa49d..9c5a413 100644
--- a/libxsd/xsd/cxx/tree/types.hxx
+++ b/libxsd/xsd/cxx/tree/types.hxx
@@ -2076,20 +2076,7 @@ namespace xsd
virtual void
_container (container*);
- // The above override also hides other _container versions. We
- // also cannot do using-declarations because of bugs in HP aCC3.
- //
- const container*
- _container () const
- {
- return B::_container ();
- }
-
- container*
- _container ()
- {
- return B::_container ();
- }
+ using B::_container;
//@endcond
diff --git a/libxsd/xsd/cxx/tree/types.txx b/libxsd/xsd/cxx/tree/types.txx
index be893af..98fcf81 100644
--- a/libxsd/xsd/cxx/tree/types.txx
+++ b/libxsd/xsd/cxx/tree/types.txx
@@ -167,11 +167,6 @@ namespace xsd
return *this;
}
- // It would have been cleaner to mention empty and _container
- // 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 <typename C, typename B>
void id<C, B>::
_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 <typename C, typename B, typename T>
const _type* idref<C, B, T>::
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 <typename C, typename B>
std::basic_string<C> base64_binary<C, B>::
encode () const
{
- // HP aCC3 cannot handle using namespace xercesc;
- //
- using xercesc::Base64;
+ using namespace xercesc;
std::basic_string<C> str;
XMLSize_t n;
@@ -365,9 +348,7 @@ namespace xsd
void base64_binary<C, B>::
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 <typename C, typename B>
std::basic_string<C> hex_binary<C, B>::
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<C>& 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<C>& 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<C>& 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<C> string;
typedef namespace_infomap<C> 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