kdegraphics3 contains auto-generated code that fails to build with recent
4.0/4.1
while it worked at least with

g++ (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux)


Testcase:

class QString;
namespace DOM {
    class __attribute__ ((visibility("default"))) DomShared {};
    class NodeImpl;
    class __attribute__ ((visibility("default"))) Node {
        Node firstChild() const;
        Node nextSibling() const;
        bool hasChildNodes ( );
        bool isNull() const { return !impl; }
        NodeImpl *impl;
    };
    class __attribute__ ((visibility("default"))) Element : public Node {};
}
namespace KSVG {
    class SVGDOMNodeBridge {};
    class SVGDOMElementBridge : public SVGDOMNodeBridge {};
    class SVGDocumentImpl;
    class SVGElementImpl : virtual public DOM::DomShared, public DOM::Element,
public SVGDOMElementBridge
    {
        SVGDocumentImpl *ownerDoc() const;
    };
    class SVGHelperImpl {
        template<class T>
        static void applyContainer(T *obj, int token, const QString &value)
        {
            SVGElementImpl *element = dynamic_cast<SVGElementImpl *>(obj);
            for(DOM::Node node = element->firstChild(); !node.isNull(); node =
node.nextSibling())
                T *cast = dynamic_cast<T
*>(element->ownerDoc()->getElementFromHandle(node));
        }
    };
}


SVGLengthImpl.min.ii: In static member function ‘static void
KSVG::SVGHelperImpl::applyContainer(T*, int, const QString&)’:
SVGLengthImpl.min.ii:28: error: invalid use of undefined type ‘struct
KSVG::SVGDocumentImpl’
SVGLengthImpl.min.ii:17: error: forward declaration of ‘struct
KSVG::SVGDocumentImpl’


-- 
           Summary: [4.0/4.1 Regression] Rejects code from kdegraphics3
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rguenth at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24425

Reply via email to