Has anyone compiled xerces-c with the latest version of g++?
I think this snippet from the release notes is going to cause grief:

# In a template definition, unqualified names will no longer find members of a 
dependent base. For example,

        template <typename T> struct B {
          int m;
          int n;
          int f ();
          int g ();
        };
        int n;
        int g ();
        template <typename T> struct C : B<T> {
          void g ()
          {
            m = 0; // error
            f ();  // error
            n = 0; // ::n is modified
            g ();  // ::g is called
          }
        };

You must make the names dependent by prefixing them with this->. Here is the corrected 
definition of C<T>::g,

        template <typename T> void C<T>::g ()
        {
          this->m = 0;
          this->f ();
          this->n = 0
          this->g ();
        }

i.e.:

c++ -fPIC -DSOLARIS -D_REENTRANT -c -I/home/greg/src/xml-xerces/c/include -w -O 
-DPROJ_XMLPARSER  -DPROJ_XMLUTIL  -DPROJ_PARSERS  -DPROJ_SAX4C  -DPROJ_SAX2  
-DPROJ_DOM -DPROJ_DEPRECATED_DOM -DPROJ_VALIDATORS -DXML_USE_NATIVE_TRANSCODER 
-DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET     -o 
/home/greg/src/xml-xerces/c/obj/SOLARIS/DOMAttrImpl.o DOMAttrImpl.cpp
In file included from 
/home/greg/src/xml-xerces/c/include/xercesc/util/RefArrayOf.hpp:221,
                 from DOMDocumentImpl.hpp:73,
                 from DOMAttrImpl.hpp:77,
                 from DOMAttrImpl.cpp:64:
/home/greg/src/xml-xerces/c/include/xercesc/util/RefArrayOf.c: In constructor 
`xercesc_2_5::RefArrayOf<TElem>::RefArrayOf(unsigned int, 
xercesc_2_5::MemoryManager*)':
/home/greg/src/xml-xerces/c/include/xercesc/util/RefArrayOf.c:111: error: invalid use 
of undefined type `struct xercesc_2_5::MemoryManager'
/home/greg/src/xml-xerces/c/include/xercesc/util/XMemory.hpp:70: error: forward 
declaration of `struct xercesc_2_5::MemoryManager'
/home/greg/src/xml-xerces/c/include/xercesc/util/RefArrayOf.c: In constructor 
`xercesc_2_5::RefArrayOf<TElem>::RefArrayOf(TElem**, unsigned int, 
xercesc_2_5::MemoryManager*)':
/home/greg/src/xml-xerces/c/include/xercesc/util/RefArrayOf.c:125: error: invalid use 
of undefined type `struct xercesc_2_5::MemoryManager'
/home/greg/src/xml-xerces/c/include/xercesc/util/XMemory.hpp:70: error: forward 
declaration of `struct xercesc_2_5::MemoryManager'

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to