
Le 05/09/16 à 17:00, Raffi Enficiaud a écrit :
Le 05/09/16 à 14:28, Raffi Enficiaud a écrit :
Le 05/09/16 à 13:15, Andrey Semashev a écrit :
Hi,
I'm seeing these test failures for gcc 4.6 (MinGW):
http://www.boost.org/development/tests/develop/developer/output/igaztanaga-d...
Looks like the error originates from Boost.Test, and I can also see lots of failures in Boost.Test itself for that compiler. Is this a known problem? Any fixes planned?
Thanks for pointing out (and for the reminder). Yes the issue is known: - https://svn.boost.org/trac/boost/ticket/12093 - http://lists.boost.org/Archives/boost/2016/03/228198.php
There are also other issues with gcc<4.8 in C++0X mode: http://lists.boost.org/Archives/boost/2016/03/228114.php
I am currently checking a fix for those, I'll keep you updated.
Raffi
The branch "topic/12093-gcc-compilation-issues" of boost.test contain a fix that is passing my CI. If somebody has a bit of time for testing that would be great.
Thanks, Raffi
I managed to fix some of the issues of gcc 4.6, however I still think there are many issues with this compiler. For instance, the following code template<typename T> \ binary_expr<ExprType,T, \ op::name<ValType,typename RhsT<T>::type> > \ operator oper( T&& rhs ) \ { \ return binary_expr<ExprType,T, \ op::name<ValType,typename RhsT<T>::type> > \ ( std::forward<ExprType>( \ *static_cast<ExprType*>(this) ), \ std::forward<T>(rhs) ); \ } \ seem to yield a different type "T" between the return type at the function declaration and the return statement in the function body. (the difference is in the "Rhs", the error is ======= test-organization-ts/test_case_template-test.cpp:38:5: error: ‘boost::test_tools::assertion::binary_expr<Lhs, Rhs, OP>::evaluate(bool) const [with LExpr = boost::test_tools::assertion::value_expr<int>, Rhs = int&, OP = boost::test_tools::assertion::op::EQ<int, int, void>]’ is not a member of ‘boost::test_tools::assertion::binary_expr<boost::test_tools::assertion::value_expr<int>, int, boost::test_tools::assertion::op::EQ<int, int, void> >’ ======= ) I am also experiencing errors that are outside of boost.test (see below). If anyone has experience with this compiler (and is willing to help), please do. Best, Raffi ======== gcc.compile.c++ ../../../bin.v2/libs/test/test/sync-access-test.test/gcc-4.6/debug/threading-multi/multithreading-ts/sync-access-test.o In file included from ../../../boost/exception/detail/exception_ptr.hpp:20:0, from ../../../boost/exception_ptr.hpp:9, from ../../../boost/thread/exceptional_ptr.hpp:10, from ../../../boost/thread/future.hpp:25, from ../../../boost/thread.hpp:24, from multithreading-ts/sync-access-test.cpp:19: ../../../boost/exception/info.hpp: In instantiation of ‘boost::error_info<boost::tag_original_exception_type, const std::type_info*>’: ../../../boost/exception/detail/exception_ptr.hpp:95:32: instantiated from here ../../../boost/exception/info.hpp:66:5: error: ‘class boost::error_info<boost::tag_original_exception_type, const std::type_info*>’ has no member named ‘value_’ ../../../boost/container/detail/pair.hpp:85:30: warning: ‘boost::container::piecewise_construct’ defined but not used [-Wunused-variable] "/usr/bin/g++-4.6" -ftemplate-depth-128 -O0 -fno-inline -Wall -pedantic -g -pthread -fPIC -m64 -Wno-long-long -Wno-variadic-macros -pedantic -std=c++0x -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_LIB=1 -DBOOST_TIMER_STATIC_LINK=1 -I"../../.." -c -o "../../../bin.v2/libs/test/test/sync-access-test.test/gcc-4.6/debug/threading-multi/multithreading-ts/sync-access-test.o" "multithreading-ts/sync-access-test.cpp" ...failed gcc.compile.c++ ../../../bin.v2/libs/test/test/sync-access-test.test/gcc-4.6/debug/threading-multi/multithreading-ts/sync-access-test.o... gcc.compile.c++ ../../../bin.v2/libs/thread/build/gcc-4.6/debug/link-static/threading-multi/pthread/thread.o In file included from ../../../boost/exception/detail/exception_ptr.hpp:20:0, from ../../../boost/exception_ptr.hpp:9, from ../../../boost/thread/exceptional_ptr.hpp:10, from ../../../boost/thread/future.hpp:25, from ../../../libs/thread/src/pthread/thread.cpp:19: ../../../boost/exception/info.hpp: In instantiation of ‘boost::error_info<boost::tag_original_exception_type, const std::type_info*>’: ../../../boost/exception/detail/exception_ptr.hpp:95:32: instantiated from here ../../../boost/exception/info.hpp:66:5: error: ‘class boost::error_info<boost::tag_original_exception_type, const std::type_info*>’ has no member named ‘value_’ In file included from ../../../boost/atomic/detail/atomic_template.hpp:25:0, from ../../../boost/atomic/atomic.hpp:22, from ../../../boost/atomic.hpp:12, from ../../../boost/thread/pthread/once_atomic.hpp:20, from ../../../boost/thread/once.hpp:20, from ../../../libs/thread/src/pthread/thread.cpp:17: ../../../boost/atomic/detail/bitwise_cast.hpp: In function ‘To boost::atomics::detail::bitwise_cast(const From&) [with To = long unsigned int, From = void*]’: ../../../boost/atomic/detail/atomic_template.hpp:556:139: instantiated from here ../../../boost/atomic/detail/bitwise_cast.hpp:39:14: warning: missing initializer for member ‘boost::atomics::detail::bitwise_cast(const From&) [with To = long unsigned int, From = void*]::<anonymous struct>::to’ [-Wmissing-field-initializers] ../../../boost/atomic/detail/bitwise_cast.hpp: In function ‘To boost::atomics::detail::bitwise_cast(const From&) [with To = void*, From = long unsigned int]’: ../../../boost/atomic/detail/atomic_template.hpp:574:100: instantiated from here ../../../boost/atomic/detail/bitwise_cast.hpp:39:14: warning: missing initializer for member ‘boost::atomics::detail::bitwise_cast(const From&) [with To = void*, From = long unsigned int]::<anonymous struct>::to’ [-Wmissing-field-initializers] ../../../boost/container/detail/pair.hpp: At global scope: ../../../boost/container/detail/pair.hpp:85:30: warning: ‘boost::container::piecewise_construct’ defined but not used [-Wunused-variable] "/usr/bin/g++-4.6" -ftemplate-depth-128 -O0 -fno-inline -Wall -pedantic -g -pthread -m64 -Wextra -Wno-long-long -Wno-unused-parameter -Wunused-function -pedantic -std=c++0x -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_THREAD_POSIX -I"../../.." -c -o "../../../bin.v2/libs/thread/build/gcc-4.6/debug/link-static/threading-multi/pthread/thread.o" "../../../libs/thread/src/pthread/thread.cpp" ...failed gcc.compile.c++ ../../../bin.v2/libs/thread/build/gcc-4.6/debug/link-static/threading-multi/pthread/thread.o... ...skipped <p../../../bin.v2/libs/thread/build/gcc-4.6/debug/link-static/threading-multi>libboost_thread.a(clean) for lack of <p../../../bin.v2/libs/thread/build/gcc-4.6/debug/link-static/threading-multi>pthread/thread.o... ...skipped <p../../../bin.v2/libs/thread/build/gcc-4.6/debug/link-static/threading-multi>libboost_thread.a for lack of <p../../../bin.v2/libs/thread/build/gcc-4.6/debug/link-static/threading-multi>pthread/thread.o... ...skipped <p../../../bin.v2/libs/test/test/sync-access-test.test/gcc-4.6/debug/threading-multi>sync-access-test for lack of <p../../../bin.v2/libs/test/test/sync-access-test.test/gcc-4.6/debug/threading-multi>multithreading-ts/sync-access-test.o... ...skipped <p../../../bin.v2/libs/test/test/sync-access-test.test/gcc-4.6/debug/threading-multi>sync-access-test.run for lack of <p../../../bin.v2/libs/test/test/sync-access-test.test/gcc-4.6/debug/threading-multi>sync-access-test... ...failed updating 4 targets... ...skipped 11 targets... ...updated 4 targets... ==========