Skip to content

Build failes with g++ (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388] #124

@subhacom

Description

@subhacom

With new g++, build process fails in folder basecode.

In file included from header.h:104:0,
                 from Cinfo.cpp:10:
Conv.h: In instantiation of ‘class Conv<Finfo>’:
FieldElementFinfo.h:146:29:   required from ‘std::string FieldElementFinfo<T, F>::rttiType() const [with T = Cinfo; F = Finfo; std::string = std::basic_string<char>]’
Cinfo.cpp:588:1:   required from here
Conv.h:72:11: error: cannot allocate an object of abstract type ‘Finfo’
   const T operator*() const {
           ^
In file included from header.h:83:0,
                 from Cinfo.cpp:10:
Finfo.h:14:7: note:   because the following virtual functions are pure within ‘Finfo’:
 class Finfo
       ^
Finfo.h:34:16: note:    virtual void Finfo::registerFinfo(Cinfo*)
   virtual void registerFinfo( Cinfo* c ) = 0;
                ^
Finfo.h:41:16: note:    virtual bool Finfo::strSet(const Eref&, const string&, const string&) const
   virtual bool strSet( const Eref& tgt, const string& field,
                ^
Finfo.h:49:16: note:    virtual bool Finfo::strGet(const Eref&, const string&, std::string&) const
   virtual bool strGet( const Eref& tgt, const string& field,
``````~

Class Finfo contains virtual functions therefore is being treated as an abstract class. gcc 4.8 complains that it can not be instantiated. It may be a bug with gcc4.8.

This version of gcc is default compiler on opensuse and centos.


Reported by: *anonymous

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions