Kamran,
Thank you for the feedback. Yet, I am confused; There should be no need to
declare the virtual keyword on a derived class's destructor, since the
destructor being virtual is a inherited trait (as long as the base's destructor
is virtual, which is true with the new patch).
Since I am not able to reproduce the error, would you mind making sure the
patch has been properly applied to your code, and, if the error persists, add
the virtual keyword to both SectorBlk and SuperBlk's destructors and check if
the issue continues?
Regards,Daniel
Em sábado, 3 de agosto de 2019 20:09:36 GMT+2, Kamran Hasan
<[email protected]> escreveu:
#yiv3419705533 #yiv3419705533 -- P
{margin-top:0;margin-bottom:0;}#yiv3419705533
That fixed one of the errors. There are two more errors related to the
non-virtual destructors, one with SectorBlk and one with SuperBlk
[ CXX] X86/python/_m5/param_CopyEngine.cc -> .o
In file included from build/X86/python/_m5/param_CompressedTags.cc:1:
In file included from ext/pybind11/include/pybind11/pybind11.h:43:
In file included from ext/pybind11/include/pybind11/detail/../attr.h:13:
In file included from ext/pybind11/include/pybind11/cast.h:13:
In file included from ext/pybind11/include/pybind11/detail/../pytypes.h:12:
In file included from ext/pybind11/include/pybind11/detail/common.h:139:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/forward_list:176:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1880:58:error:
destructor called on non-final 'SectorBlk' that has virtual functions
but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
_LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1742:18:
note: in instantiation of member function
'std::__1::allocator<SectorBlk>::destroy' requested here
{__a.destroy(__p);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1595:14:
note: in instantiation of function template specialization
'std::__1::allocator_traits<std::__1::allocator<SectorBlk>
>::__destroy<SectorBlk>' requested here
{__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:421:25:
note: in instantiation of function template specialization
'std::__1::allocator_traits<std::__1::allocator<SectorBlk>
>::destroy<SectorBlk>' requested here
__alloc_traits::destroy(__alloc(),
_VSTD::__to_raw_pointer(--__soon_to_be_end));
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:364:29:
note: in instantiation of member function 'std::__1::__vector_base<SectorBlk,
std::__1::allocator<SectorBlk> >::__destruct_at_end' requested here
void clear() _NOEXCEPT {__destruct_at_end(__begin_);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:458:9:
note: in instantiation of member function 'std::__1::__vector_base<SectorBlk,
std::__1::allocator<SectorBlk> >::clear' requested here
clear();
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator:1427:74:
note: in instantiation of member function
'std::__1::__vector_base<SectorBlk, std::__1::allocator<SectorBlk>
>::~__vector_base' requested here
template <class _Tp, class _Alloc> friend class _LIBCPP_TEMPLATE_VIS vector;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1880:64:
note: qualify call to silence this warning
_LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1880:58:error:
destructor called on non-final 'SuperBlk' that has virtual functions
but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
_LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1742:18:
note: in instantiation of member function
'std::__1::allocator<SuperBlk>::destroy' requested here
{__a.destroy(__p);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1595:14:
note: in instantiation of function template specialization
'std::__1::allocator_traits<std::__1::allocator<SuperBlk>
>::__destroy<SuperBlk>' requested here
{__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:421:25:
note: in instantiation of function template specialization
'std::__1::allocator_traits<std::__1::allocator<SuperBlk>
>::destroy<SuperBlk>' requested here
__alloc_traits::destroy(__alloc(),
_VSTD::__to_raw_pointer(--__soon_to_be_end));
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:364:29:
note: in instantiation of member function 'std::__1::__vector_base<SuperBlk,
std::__1::allocator<SuperBlk> >::__destruct_at_end' requested here
void clear() _NOEXCEPT {__destruct_at_end(__begin_);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:458:9:
note: in instantiation of member function 'std::__1::__vector_base<SuperBlk,
std::__1::allocator<SuperBlk> >::clear' requested here
clear();
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator:1427:74:
note: in instantiation of member function
'std::__1::__vector_base<SuperBlk, std::__1::allocator<SuperBlk>
>::~__vector_base' requested here
template <class _Tp, class _Alloc> friend class _LIBCPP_TEMPLATE_VIS vector;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1880:64:
note: qualify call to silence this warning
_LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
^
7 warnings and 2 errors generated.
scons: *** [build/X86/python/_m5/param_CompressedTags.o] Error 1
From: Daniel Carvalho <[email protected]>
Sent: Saturday, August 3, 2019 6:11:16 AM
To: Kamran Hasan <[email protected]>
Cc: Gem5 Developer List <[email protected]>
Subject: Re: [gem5-dev] Cannot build on mac anymore Can you cherry-pick this
patch and see if it solves your issue, Kamran?
https://gem5-review.googlesource.com/c/public/gem5/+/19808
(The answer to your question may be found here:
https://stackoverflow.com/questions/8764353/what-does-has-virtual-method-but-non-virtual-destructor-warning-mean-durin)
Em sábado, 3 de agosto de 2019 00:21:07 GMT+2, Kamran Hasan
<[email protected]> escreveu:
Hi,
I did a git pull and tried to build again but found that I couldn't. I also
tried doing a clean git clone and building again but got the same error message
that I'm pasting below. I'm running OS X Mojave (10.14.5) with Xcode 10.3.
Before I did a git pull, I was able to build and run fine with this exact same
setup. Any ideas on how I can fix this?
Thanks!
[ TRACING] -> X86/debug/Cache.hh
[ TRACING] -> X86/debug/CachePort.hh
[ENUMDECL] Clusivity -> X86/enums/Clusivity.hh
[SO PARAM] WriteAllocator -> X86/params/WriteAllocator.hh
[ CXX] X86/mem/cache/tags/base_set_assoc.cc -> .o
[ TRACING] -> X86/debug/CacheComp.hh
[SO PARAM] CompressedTags -> X86/params/CompressedTags.hh
[SO PARAM] SectorTags -> X86/params/SectorTags.hh
[ CXX] X86/mem/cache/tags/compressed_tags.cc -> .o
[SO PARAM] FALRU -> X86/params/FALRU.hh
[ CXX] X86/mem/cache/tags/fa_lru.cc -> .o
[ CXX] X86/mem/cache/tags/sector_blk.cc -> .o
[ CXX] X86/mem/cache/tags/sector_tags.cc -> .o
[ CXX] X86/mem/cache/tags/super_blk.cc -> .o
In file included from build/X86/mem/cache/tags/compressed_tags.cc:36:
In file included from build/X86/mem/cache/tags/compressed_tags.hh:39:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:270:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__bit_reference:15:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm:644:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1880:58:
error: destructor called on non-final 'SectorBlk' that has virtual functions
but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
_LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1742:18:
note: in instantiation of member function
'std::__1::allocator<SectorBlk>::destroy' requested here
{__a.destroy(__p);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1595:14:
note: in instantiation of function template specialization
'std::__1::allocator_traits<std::__1::allocator<SectorBlk>
>::__destroy<SectorBlk>' requested here
{__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:421:25:
note: in instantiation of function template specialization
'std::__1::allocator_traits<std::__1::allocator<SectorBlk>
>::destroy<SectorBlk>' requested here
__alloc_traits::destroy(__alloc(),
_VSTD::__to_raw_pointer(--__soon_to_be_end));
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:364:29:
note: in instantiation of member function 'std::__1::__vector_base<SectorBlk,
std::__1::allocator<SectorBlk> >::__destruct_at_end' requested here
void clear() _NOEXCEPT {__destruct_at_end(__begin_);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:458:9:
note: in instantiation of member function 'std::__1::__vector_base<SectorBlk,
std::__1::allocator<SectorBlk> >::clear' requested here
clear();
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator:1427:74:
note: in instantiation of member function 'std::__1::__vector_base<SectorBlk,
std::__1::allocator<SectorBlk> >::~__vector_base' requested here
template <class _Tp, class _Alloc> friend class _LIBCPP_TEMPLATE_VIS vector;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1880:64:
note: qualify call to silence this warning
_LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1880:58:
error: destructor called on non-final 'SuperBlk' that has virtual functions
but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
_LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1742:18:
note: in instantiation of member function
'std::__1::allocator<SuperBlk>::destroy' requested here
{__a.destroy(__p);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1595:14:
note: in instantiation of function template specialization
'std::__1::allocator_traits<std::__1::allocator<SuperBlk>
>::__destroy<SuperBlk>' requested here
{__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:421:25:
note: in instantiation of function template specialization
'std::__1::allocator_traits<std::__1::allocator<SuperBlk>
>::destroy<SuperBlk>' requested here
__alloc_traits::destroy(__alloc(),
_VSTD::__to_raw_pointer(--__soon_to_be_end));
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:364:29:
note: in instantiation of member function 'std::__1::__vector_base<SuperBlk,
std::__1::allocator<SuperBlk> >::__destruct_at_end' requested here
void clear() _NOEXCEPT {__destruct_at_end(__begin_);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:458:9:
note: in instantiation of member function 'std::__1::__vector_base<SuperBlk,
std::__1::allocator<SuperBlk> >::clear' requested here
clear();
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator:1427:74:
note: in instantiation of member function 'std::__1::__vector_base<SuperBlk,
std::__1::allocator<SuperBlk> >::~__vector_base' requested here
template <class _Tp, class _Alloc> friend class _LIBCPP_TEMPLATE_VIS vector;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1880:64:
note: qualify call to silence this warning
_LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
^
2 errors generated.
scons: *** [build/X86/mem/cache/tags/compressed_tags.o] Error 1
In file included from build/X86/mem/cache/tags/sector_tags.cc:36:
In file included from build/X86/mem/cache/tags/sector_tags.hh:40:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:500:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string_view:176:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__string:56:
In file included from
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm:644:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1880:58:
error: destructor called on non-final 'SectorBlk' that has virtual functions
but non-virtual
destructor [-Werror,-Wdelete-non-virtual-dtor]
_LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1742:18:
note: in instantiation of member function
'std::__1::allocator<SectorBlk>::destroy' requested here
{__a.destroy(__p);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1595:14:
note: in instantiation of function template specialization
'std::__1::allocator_traits<std::__1::allocator<SectorBlk>
>::__destroy<SectorBlk>' requested here
{__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:421:25:
note: in instantiation of function template specialization
'std::__1::allocator_traits<std::__1::allocator<SectorBlk>
>::destroy<SectorBlk>' requested here
__alloc_traits::destroy(__alloc(),
_VSTD::__to_raw_pointer(--__soon_to_be_end));
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:364:29:
note: in instantiation of member function 'std::__1::__vector_base<SectorBlk,
std::__1::allocator<SectorBlk> >::__destruct_at_end' requested here
void clear() _NOEXCEPT {__destruct_at_end(__begin_);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/vector:458:9:
note: in instantiation of member function 'std::__1::__vector_base<SectorBlk,
std::__1::allocator<SectorBlk> >::clear' requested here
clear();
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iterator:1427:74:
note: in instantiation of member function 'std::__1::__vector_base<SectorBlk,
std::__1::allocator<SectorBlk> >::~__vector_base' requested here
template <class _Tp, class _Alloc> friend class _LIBCPP_TEMPLATE_VIS vector;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1880:64:
note: qualify call to silence this warning
_LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
^
1 error generated.
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev