[Bug c++/56268] [4.7/4.8 Regression] C++11 ICE with boost multi-precision and boost variant during assignment

2013-02-21 Thread koraq at xs4all dot nl


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

2013-02-09 Thread koraq at xs4all dot nl


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

2013-02-09 Thread koraq at xs4all dot nl


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

2013-02-09 Thread koraq at xs4all dot nl


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

2013-01-01 Thread koraq at xs4all dot nl


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

2013-01-01 Thread koraq at xs4all dot nl


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

2013-01-01 Thread koraq at xs4all dot nl


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