From 6e2544ec1685016c3a2f8a7d5c94e4b882a3862d Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Fri, 27 Apr 2018 10:08:33 +0000 Subject: [PATCH] lang/solidity: unbreak with Clang 6 In file included from libsolidity/analysis/ConstantEvaluator.cpp:23: In file included from ./libsolidity/analysis/ConstantEvaluator.h:25: In file included from ./libsolidity/ast/ASTVisitor.h:25: In file included from /usr/include/c++/v1/string:477: In file included from /usr/include/c++/v1/string_view:176: In file included from /usr/include/c++/v1/__string:56: In file included from /usr/include/c++/v1/algorithm:643: /usr/include/c++/v1/memory:3656:5: error: destructor called on non-final 'dev::solidity::FixedBytesType' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor] __data_.second().~_Tp(); ^ /usr/include/c++/v1/memory:3617:9: note: in instantiation of member function 'std::__1::__shared_ptr_emplace >::__on_zero_shared' requested here __shared_ptr_emplace(_Alloc __a, _Args&& ...__args) ^ /usr/include/c++/v1/memory:4277:26: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace >::__shared_ptr_emplace' requested here ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...); ^ /usr/include/c++/v1/memory:4656:29: note: in instantiation of function template specialization 'std::__1::shared_ptr::make_shared' requested here return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...); ^ ./libsolidity/ast/Types.h:623:19: note: in instantiation of function template specialization 'std::__1::make_shared' requested here m_baseType(std::make_shared(1)) ^ /usr/include/c++/v1/memory:3656:23: note: qualify call to silence this warning __data_.second().~_Tp(); ^ /usr/include/c++/v1/memory:3656:5: error: destructor called on non-final 'dev::solidity::IntegerType' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor] __data_.second().~_Tp(); ^ /usr/include/c++/v1/memory:3617:9: note: in instantiation of member function 'std::__1::__shared_ptr_emplace >::__on_zero_shared' requested here __shared_ptr_emplace(_Alloc __a, _Args&& ...__args) ^ /usr/include/c++/v1/memory:4277:26: note: in instantiation of function template specialization 'std::__1::__shared_ptr_emplace >::__shared_ptr_emplace' requested here ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...); ^ /usr/include/c++/v1/memory:4656:29: note: in instantiation of function template specialization 'std::__1::shared_ptr::make_shared' requested here return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...); ^ ./libsolidity/ast/Types.h:718:15: note: in instantiation of function template specialization 'std::__1::make_shared' requested here return std::make_shared(160, IntegerType::Modifier::Address); ^ /usr/include/c++/v1/memory:3656:23: note: qualify call to silence this warning __data_.second().~_Tp(); ^ /usr/include/c++/v1/memory:3656:5: error: destructor called on non-final 'dev::solidity::BoolType' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor] __data_.second().~_Tp(); ^ /usr/include/c++/v1/memory:3612:5: note: in instantiation of member function 'std::__1::__shared_ptr_emplace >::__on_zero_shared' requested here __shared_ptr_emplace(_Alloc __a) ^ /usr/include/c++/v1/memory:4277:26: note: in instantiation of member function 'std::__1::__shared_ptr_emplace >::__shared_ptr_emplace' requested here ::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...); ^ /usr/include/c++/v1/memory:4656:29: note: in instantiation of function template specialization 'std::__1::shared_ptr::make_shared<>' requested here return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...); ^ libsolidity/analysis/ConstantEvaluator.cpp:58:4: note: in instantiation of function template specialization 'std::__1::make_shared' requested here make_shared() : ^ /usr/include/c++/v1/memory:3656:23: note: qualify call to silence this warning __data_.second().~_Tp(); ^ PR: 227679 Reported by: pkg-fallout, antoine (via exp-run) --- lang/solidity/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/lang/solidity/Makefile b/lang/solidity/Makefile index 1dbfd983bf4d..46774700550f 100644 --- a/lang/solidity/Makefile +++ b/lang/solidity/Makefile @@ -30,5 +30,6 @@ PLIST_FILES= bin/solc pre-patch: @${CP} ${FILESDIR}/jsoncpp.cmake ${WRKSRC}/cmake/ @${REINPLACE_CMD} '/EthCcache/d' ${WRKSRC}/CMakeLists.txt + @${REINPLACE_CMD} '/-Werror/d' ${WRKSRC}/cmake/EthCompilerSettings.cmake .include