In GCC 4.6 the compiler no longer allows objects of const-qualified type to be default initialized unless the type has a user-declared default constructor. Patch from Gentoo bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=358021 Gentoo Bugzilla description follows: "If a class or struct has no user-defined default constructor, C++ doesn't allow you to default construct a const instance of it. https://bugs.gentoo.org/358021 http://clang.llvm.org/compatibility.html#default_init_const http://gcc.gnu.org/PR44499" --- a/jade/TeXFOTBuilder.cxx +++ b/jade/TeXFOTBuilder.cxx @@ -88,6 +88,8 @@ public: value.convertString(nic_.placement); } ExtensionFlowObj *copy() const { return new PageFloatFlowObj(*this); } + public: + PageFloatFlowObj() {} private: PageFloatNIC nic_; StringC name_; @@ -101,6 +103,8 @@ public: fotb.endPageFootnote(); } ExtensionFlowObj *copy() const { return new PageFootnoteFlowObj(*this); } + public: + PageFootnoteFlowObj() {} private: }; ////////////////////////////////////////////////////////////////////// --- a/jade/TransformFOTBuilder.cxx +++ b/jade/TransformFOTBuilder.cxx @@ -41,6 +41,7 @@ public: }; class EntityRefFlowObj : public TransformExtensionFlowObj { public: + EntityRefFlowObj() {} void atomic(TransformFOTBuilder &fotb, const NodePtr &) const { fotb.entityRef(name_); } @@ -56,6 +57,7 @@ public: }; class ProcessingInstructionFlowObj : public TransformExtensionFlowObj { public: + ProcessingInstructionFlowObj() {} void atomic(TransformFOTBuilder &fotb, const NodePtr &) const { fotb.processingInstruction(data_); } @@ -98,6 +100,8 @@ public: } } ExtensionFlowObj *copy() const { return new EmptyElementFlowObj(*this); } + public: + EmptyElementFlowObj() {} private: ElementNIC nic_; }; @@ -133,6 +137,8 @@ public: } } ExtensionFlowObj *copy() const { return new ElementFlowObj(*this); } + public: + ElementFlowObj() {} private: ElementNIC nic_; }; @@ -150,6 +156,8 @@ public: value.convertString(systemId_); } ExtensionFlowObj *copy() const { return new EntityFlowObj(*this); } + public: + EntityFlowObj() {} private: StringC systemId_; }; @@ -174,6 +182,8 @@ public: } } ExtensionFlowObj *copy() const { return new DocumentTypeFlowObj(*this); } + public: + DocumentTypeFlowObj() {} private: DocumentTypeNIC nic_; };