7 warnings generated.
[ CXX] X86_MOESI_AMD_Base/mem/ruby/common/Address.cc -> .o
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:588:8: error: delete called on non-final 'Stats::ScalarStatNode' that has virtual functions but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
delete __p;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ScalarStatNode *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ScalarStatNode *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ScalarStatNode, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3030:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ScalarStatNode, void>' requested here
: node(new ScalarStatNode(s.info()))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:376:9: error: delete called on non-final 'Stats::ScalarStatNode' that has virtual functions but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
{ delete _M_ptr; }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:371:7: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ScalarStatNode *,
__gnu_cxx::_S_atomic>::_M_dispose' requested here
_Sp_counted_ptr(_Ptr __p) noexcept
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:584:20: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ScalarStatNode *,
__gnu_cxx::_S_atomic>::_Sp_counted_ptr' requested here
_M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ScalarStatNode *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ScalarStatNode *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ScalarStatNode, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3030:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ScalarStatNode, void>' requested here
: node(new ScalarStatNode(s.info()))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:588:8: error: delete called on non-final 'Stats::VectorStatNode' that has virtual functions but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
delete __p;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::VectorStatNode *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::VectorStatNode *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::VectorStatNode, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3054:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::VectorStatNode, void>' requested here
: node(new VectorStatNode(s.info()))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:376:9: error: delete called on non-final 'Stats::VectorStatNode' that has virtual functions but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
{ delete _M_ptr; }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:371:7: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::VectorStatNode *,
__gnu_cxx::_S_atomic>::_M_dispose' requested here
_Sp_counted_ptr(_Ptr __p) noexcept
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:584:20: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::VectorStatNode *,
__gnu_cxx::_S_atomic>::_Sp_counted_ptr' requested here
_M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::VectorStatNode *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::VectorStatNode *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::VectorStatNode, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3054:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::VectorStatNode, void>' requested here
: node(new VectorStatNode(s.info()))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:588:8: error: delete called on non-final 'Stats::FormulaNode' that has virtual functions but non-virtual destructor
[-Werror,-Wdelete-non-virtual-dtor]
delete __p;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::FormulaNode *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::FormulaNode *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::FormulaNode, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3065:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::FormulaNode, void>' requested here
: node(new FormulaNode(f))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:376:9: error: delete called on non-final 'Stats::FormulaNode' that has virtual functions but non-virtual destructor
[-Werror,-Wdelete-non-virtual-dtor]
{ delete _M_ptr; }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:371:7: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::FormulaNode *,
__gnu_cxx::_S_atomic>::_M_dispose' requested here
_Sp_counted_ptr(_Ptr __p) noexcept
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:584:20: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::FormulaNode *,
__gnu_cxx::_S_atomic>::_Sp_counted_ptr' requested here
_M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::FormulaNode *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::FormulaNode *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::FormulaNode, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3065:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::FormulaNode, void>' requested here
: node(new FormulaNode(f))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:588:8: error: delete called on non-final 'Stats::ConstNode<signed char>' that has virtual functions but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
delete __p;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<signed char> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<signed char> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<signed char>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3082:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<signed char>, void>' requested here
: node(new ConstNode<signed char>(value))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:376:9: error: delete called on non-final 'Stats::ConstNode<signed char>' that has virtual functions but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
{ delete _M_ptr; }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:371:7: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ConstNode<signed char> *,
__gnu_cxx::_S_atomic>::_M_dispose' requested here
_Sp_counted_ptr(_Ptr __p) noexcept
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:584:20: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ConstNode<signed char> *,
__gnu_cxx::_S_atomic>::_Sp_counted_ptr' requested here
_M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<signed char> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<signed char> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<signed char>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3082:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<signed char>, void>' requested here
: node(new ConstNode<signed char>(value))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:588:8: error: delete called on non-final 'Stats::ConstNode<unsigned char>' that has virtual functions but
non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
delete __p;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<unsigned char> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<unsigned char> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<unsigned char>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3090:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<unsigned char>, void>' requested here
: node(new ConstNode<unsigned char>(value))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:376:9: error: delete called on non-final 'Stats::ConstNode<unsigned char>' that has virtual functions but
non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
{ delete _M_ptr; }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:371:7: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ConstNode<unsigned char> *,
__gnu_cxx::_S_atomic>::_M_dispose' requested here
_Sp_counted_ptr(_Ptr __p) noexcept
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:584:20: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ConstNode<unsigned char> *,
__gnu_cxx::_S_atomic>::_Sp_counted_ptr' requested here
_M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<unsigned char> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<unsigned char> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<unsigned char>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3090:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<unsigned char>, void>' requested here
: node(new ConstNode<unsigned char>(value))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:588:8: error: delete called on non-final 'Stats::ConstNode<short>' that has virtual functions but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
delete __p;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<short> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<short> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<short>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3098:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<short>, void>' requested here
: node(new ConstNode<signed short>(value))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:376:9: error: delete called on non-final 'Stats::ConstNode<short>' that has virtual functions but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
{ delete _M_ptr; }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:371:7: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ConstNode<short> *,
__gnu_cxx::_S_atomic>::_M_dispose' requested here
_Sp_counted_ptr(_Ptr __p) noexcept
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:584:20: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ConstNode<short> *,
__gnu_cxx::_S_atomic>::_Sp_counted_ptr' requested here
_M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<short> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<short> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<short>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3098:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<short>, void>' requested here
: node(new ConstNode<signed short>(value))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:588:8: error: delete called on non-final 'Stats::ConstNode<unsigned short>' that has virtual functions but
non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
delete __p;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<unsigned short> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<unsigned short> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<unsigned short>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3106:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<unsigned short>, void>' requested here
: node(new ConstNode<unsigned short>(value))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:376:9: error: delete called on non-final 'Stats::ConstNode<unsigned short>' that has virtual functions but
non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
{ delete _M_ptr; }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:371:7: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ConstNode<unsigned short> *,
__gnu_cxx::_S_atomic>::_M_dispose' requested here
_Sp_counted_ptr(_Ptr __p) noexcept
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:584:20: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ConstNode<unsigned short> *,
__gnu_cxx::_S_atomic>::_Sp_counted_ptr' requested here
_M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<unsigned short> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<unsigned short> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<unsigned short>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3106:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<unsigned short>, void>' requested here
: node(new ConstNode<unsigned short>(value))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:588:8: error: delete called on non-final 'Stats::ConstNode<int>' that has virtual functions but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
delete __p;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<int> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<int> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<int>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3114:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<int>, void>' requested here
: node(new ConstNode<signed int>(value))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:376:9: error: delete called on non-final 'Stats::ConstNode<int>' that has virtual functions but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
{ delete _M_ptr; }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:371:7: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ConstNode<int> *,
__gnu_cxx::_S_atomic>::_M_dispose' requested here
_Sp_counted_ptr(_Ptr __p) noexcept
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:584:20: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ConstNode<int> *,
__gnu_cxx::_S_atomic>::_Sp_counted_ptr' requested here
_M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<int> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<int> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<int>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3114:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<int>, void>' requested here
: node(new ConstNode<signed int>(value))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:588:8: error: delete called on non-final 'Stats::ConstNode<unsigned int>' that has virtual functions but
non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
delete __p;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<unsigned int> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<unsigned int> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<unsigned int>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3122:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<unsigned int>, void>' requested here
: node(new ConstNode<unsigned int>(value))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:376:9: error: delete called on non-final 'Stats::ConstNode<unsigned int>' that has virtual functions but
non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
{ delete _M_ptr; }
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:371:7: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ConstNode<unsigned int> *,
__gnu_cxx::_S_atomic>::_M_dispose' requested here
_Sp_counted_ptr(_Ptr __p) noexcept
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:584:20: note: in instantiation of member function 'std::_Sp_counted_ptr<Stats::ConstNode<unsigned int> *,
__gnu_cxx::_S_atomic>::_Sp_counted_ptr' requested here
_M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<unsigned int> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<unsigned int> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<unsigned int>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3122:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<unsigned int>, void>' requested here
: node(new ConstNode<unsigned int>(value))
^
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.cc:29:
In file included from build/X86_MOESI_AMD_Base/mem/ruby/common/Address.hh:37:
In file included from build/X86_MOESI_AMD_Base/base/types.hh:43:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/memory:81:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:52:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:588:8: error: delete called on non-final 'Stats::ConstNode<long>' that has virtual functions but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
delete __p;
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:595:4: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<long> *>' requested here
: __shared_count(__p)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr_base.h:1079:17: note: in instantiation of function template specialization
'std::__shared_count<__gnu_cxx::_S_atomic>::__shared_count<Stats::ConstNode<long> *>' requested here
: _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/bits/shared_ptr.h:129:25: note: in instantiation of function template specialization 'std::__shared_ptr<Stats::Node,
__gnu_cxx::_S_atomic>::__shared_ptr<Stats::ConstNode<long>, void>' requested here
shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
^
build/X86_MOESI_AMD_Base/base/statistics.hh:3130:11: note: in instantiation of function template specialization 'std::shared_ptr<Stats::Node>::shared_ptr<Stats::ConstNode<long>, void>' requested here
: node(new ConstNode<signed long>(value))
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
scons: *** [build/X86_MOESI_AMD_Base/mem/ruby/common/Address.o] Error 1
scons: building terminated because of errors.
I only observe this error using clang.
I use LLVM because the final binaries are in some way better optimized, and they have a better performance compared to the gcc ones.