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<dev::solidity::FixedBytesType, std::__1::allocator<dev::solidity::FixedBytesType> >::__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<dev::solidity::FixedBytesType, std::__1::allocator<dev::solidity::FixedBytesType> >::__shared_ptr_emplace<int>' 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<dev::solidity::FixedBytesType>::make_shared<int>' 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<dev::solidity::FixedBytesType, int>' requested here
                m_baseType(std::make_shared<FixedBytesType>(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<dev::solidity::IntegerType, std::__1::allocator<dev::solidity::IntegerType> >::__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<dev::solidity::IntegerType, std::__1::allocator<dev::solidity::IntegerType> >::__shared_ptr_emplace<int, dev::solidity::IntegerType::Modifier>' 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<dev::solidity::IntegerType>::make_shared<int, dev::solidity::IntegerType::Modifier>' 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<dev::solidity::IntegerType, int, dev::solidity::IntegerType::Modifier>' requested here
                return std::make_shared<IntegerType>(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<dev::solidity::BoolType, std::__1::allocator<dev::solidity::BoolType> >::__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<dev::solidity::BoolType, std::__1::allocator<dev::solidity::BoolType> >::__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<dev::solidity::BoolType>::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<dev::solidity::BoolType>' requested here
                        make_shared<BoolType>() :
                        ^
/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)
This commit is contained in:
Jan Beich 2018-04-27 10:08:33 +00:00
parent 62d4ec8296
commit 6e2544ec16
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=468412

View File

@ -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 <bsd.port.mk>