[Bug c++/56268] [4.7/4.8 Regression] C++11 ICE with boost multi-precision and boost variant during assignment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56268 --- Comment #8 from koraq at xs4all dot nl 2013-02-21 18:56:06 UTC --- I can confirm it is fixed in Debian Experimental 4.8-20130217-1. Thanks for the fix.
[Bug c++/56268] New: [4.7/4.8 Regression] C++11 ICE with boost multi-precision and boost variant during assignment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56268 Bug #: 56268 Summary: [4.7/4.8 Regression] C++11 ICE with boost multi-precision and boost variant during assignment Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ko...@xs4all.nl Created attachment 29402 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29402 Sample code to reproduce the problem This issue is quite similar to bug 55842. Compiling the attached sample file leads to an internal compiler error. The problem only occurs with GCC-4.7 from Debian Unstable 4.7.2-5 and the upcoming 4.8 from Debian Experimental 4.8-20130127-1. Tested on an amd64 system. (GCC 4.6 works, properly.) I'm using a checkout of the latest boost release tree. The command to reproduce the issue is: gcc-4.8 -std=c++11 -c -I/src/boost/release test.cpp In file included from /src/boost/release/boost/config.hpp:57:0, from /src/boost/release/boost/variant/detail/config.hpp:16, from /src/boost/release/boost/variant/variant.hpp:23, from /src/boost/release/boost/variant.hpp:17, from test.cpp:2: /src/boost/release/boost/type_traits/has_nothrow_copy.hpp: In instantiation of 'const bool boost::detail::has_nothrow_copy_impboost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ::value': /src/boost/release/boost/type_traits/has_nothrow_copy.hpp:32:1: required from 'struct boost::has_nothrow_copyboost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ' /src/boost/release/boost/variant/variant.hpp:1908:17: required from 'void boost::variantT0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19::assigner::internal_visit(const RhsT, int) [with RhsT = boost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ; T0_ = boost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ; T1 = boost::detail::variant::void_; T2 = boost::detail::variant::void_; T3 = boost::detail::variant::void_; T4 = boost::detail::variant::void_; T5 = boost::detail::variant::void_; T6 = boost::detail::variant::void_; T7 = boost::detail::variant::void_; T8 = boost::detail::variant::void_; T9 = boost::detail::variant::void_; T10 = boost::detail::variant::void_; T11 = boost::detail::variant::void_; T12 = boost::detail::variant::void_; T13 = boost::detail::variant::void_; T14 = boost::detail::variant::void_; T15 = boost::detail::variant::void_; T16 = boost::detail::variant::void_; T17 = boost::detail::variant::void_; T18 = boost::detail::variant::void_; T19 = boost::detail::variant::void_]' /src/boost/release/boost/variant/detail/visitation_impl.hpp:130:9: required from 'typename Visitor::result_type boost::detail::variant::visitation_impl_invoke_impl(int, Visitor, VoidPtrCV, T*, mpl_::true_) [with Visitor = boost::variantboost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ::assigner; VoidPtrCV = const void*; T = boost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ; typename Visitor::result_type = void; mpl_::true_ = mpl_::bool_true]' /src/boost/release/boost/variant/detail/visitation_impl.hpp:173:9: required from 'typename Visitor::result_type boost::detail::variant::visitation_impl_invoke(int, Visitor, VoidPtrCV, T*, NoBackupFlag, int) [with Visitor = boost::variantboost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ::assigner; VoidPtrCV = const void*; T = boost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ; NoBackupFlag = boost::variantboost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ::has_fallback_type_; typename Visitor::result_type = void]' /src/boost/release/boost/variant/detail/visitation_impl.hpp:256:5: required from 'typename Visitor::result_type boost::detail::variant::visitation_impl(int, int, Visitor, VoidPtrCV, mpl_::false_, NoBackupFlag, Which*, step0*) [with Which = mpl_::int_0; step0 = boost::detail::variant::visitation_impl_stepboost::mpl::l_iterboost::mpl::l_itemmpl_::long_1l, boost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u , boost::mpl::l_end , boost::mpl::l_iterboost::mpl::l_end ; Visitor = boost::variantboost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ::assigner; VoidPtrCV = const void*; NoBackupFlag = boost::variantboost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ::has_fallback_type_; typename Visitor::result_type = void; mpl_::false_ = mpl_::bool_false]'
[Bug c++/56268] [4.7/4.8 Regression] C++11 ICE with boost multi-precision and boost variant during assignment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56268 --- Comment #1 from koraq at xs4all dot nl 2013-02-09 18:59:52 UTC --- Created attachment 29403 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29403 Preprocessed source
[Bug c++/55842] [4.7/4.8 Regression] C++11 ICE with boost multi-precision and boost variant
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55842 --- Comment #8 from koraq at xs4all dot nl 2013-02-09 19:01:13 UTC --- Thanks for fixing it, I can confirm this issue has been fixed. I ran into a similar problem and filed it as bug 56268.
[Bug c++/55842] New: C++11 ICE with boost multi-precision and boost variant
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55842 Bug #: 55842 Summary: C++11 ICE with boost multi-precision and boost variant Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ko...@xs4all.nl Compiling the attached sample file leads to an internal compiler error. The problem only occurs with GCC-4.7 from Debian Unstable 4.7.2-1 and the upcoming 4.8 from Debian Experimental 4.8-20121218-1. Tested on an amd64 system. I'm using a checkout of the latest boost release tree. The command to reproduce the issue is: gcc-4.8 -std=c++11 -c -I/src/boost/release test.cpp This results in the following output: In file included from /src/boost/release/boost/config.hpp:57:0, from /src/boost/release/boost/variant/detail/config.hpp:16, from /src/boost/release/boost/variant/variant.hpp:23, from /src/boost/release/boost/variant.hpp:17, from test.cpp:2: /src/boost/release/boost/type_traits/has_nothrow_constructor.hpp: In instantiation of 'const bool boost::detail::has_nothrow_constructor_impboost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ::value': /src/boost/release/boost/type_traits/has_nothrow_constructor.hpp:32:1: required from 'struct boost::has_nothrow_constructorboost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ' /src/boost/release/boost/mpl/aux_/nested_type_wknd.hpp:26:31: required from 'struct boost::mpl::aux::nested_type_wkndboost::has_nothrow_constructorboost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ' /src/boost/release/boost/mpl/not.hpp:39:8: required from 'struct boost::mpl::not_boost::has_nothrow_constructorboost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ' /src/boost/release/boost/mpl/aux_/nested_type_wknd.hpp:26:31: required from 'struct boost::mpl::aux::nested_type_wkndboost::mpl::apply1boost::mpl::protectboost::detail::variant::find_fallback_type_pred, boost::mpl::l_iterboost::mpl::l_itemmpl_::long_1l, boost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u , boost::mpl::l_end ' /src/boost/release/boost/mpl/aux_/preprocessed/gcc/and.hpp:23:8: required from 'struct boost::mpl::aux::and_impltrue, boost::mpl::apply1boost::mpl::protectboost::detail::variant::find_fallback_type_pred, boost::mpl::l_iterboost::mpl::l_itemmpl_::long_1l, boost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u , boost::mpl::l_end , mpl_::bool_true, mpl_::bool_true, mpl_::bool_true ' /src/boost/release/boost/mpl/aux_/preprocessed/gcc/and.hpp:48:8: [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /src/boost/release/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp:101:135: required from 'struct boost::mpl::aux::iter_fold_if_implboost::mpl::l_iterboost::mpl::l_itemmpl_::long_1l, boost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u , boost::mpl::l_end , mpl_::int_0, boost::mpl::protectboost::mpl::nextmpl_::na , boost::mpl::protectboost::mpl::aux::iter_fold_if_predboost::mpl::protectboost::detail::variant::find_fallback_type_pred, boost::mpl::l_iterboost::mpl::l_end , 0, mpl_::na, boost::mpl::alwaysmpl_::bool_false ' /src/boost/release/boost/mpl/iter_fold_if.hpp:81:12: required from 'struct boost::mpl::iter_fold_ifboost::mpl::l_itemmpl_::long_1l, boost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u , boost::mpl::l_end, mpl_::int_0, boost::mpl::protectboost::mpl::nextmpl_::na , boost::mpl::protectboost::detail::variant::find_fallback_type_pred, mpl_::na, mpl_::na::result_' /src/boost/release/boost/mpl/iter_fold_if.hpp:104:11: required from 'struct boost::mpl::iter_fold_ifboost::mpl::l_itemmpl_::long_1l, boost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u , boost::mpl::l_end, mpl_::int_0, boost::mpl::protectboost::mpl::nextmpl_::na , boost::mpl::protectboost::detail::variant::find_fallback_type_pred, mpl_::na, mpl_::na' /src/boost/release/boost/variant/variant.hpp:189:17: required from 'struct boost::detail::variant::find_fallback_typeboost::mpl::l_itemmpl_::long_1l, boost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u , boost::mpl::l_end ' /src/boost/release/boost/variant/variant.hpp:1271:17: required from 'class boost::variantboost::multiprecision::numberboost::multiprecision::backends::cpp_int_backend64u, 0u ' test.cpp:10:27: required from here /src/boost/release/boost/type_traits/has_nothrow_constructor.hpp:24:32: internal compiler error: in
[Bug c++/55842] C++11 ICE with boost multi-precision and boost variant
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55842 --- Comment #1 from koraq at xs4all dot nl 2013-01-01 16:09:52 UTC --- Created attachment 29069 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29069 Preprocessed source The attachment failed the first time (compressed else it is too large).
[Bug c++/55842] C++11 ICE with boost multi-precision and boost variant
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55842 --- Comment #2 from koraq at xs4all dot nl 2013-01-01 16:11:08 UTC --- Created attachment 29070 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=29070 Sample code to reproduce the problem