Opened 17 years ago
Closed 14 years ago
#588 closed Bugs (fixed)
mpl::remove compile error with gcc 4.1.0
Reported by: | eelis | Owned by: | Aleksey Gurtovoy |
---|---|---|---|
Milestone: | Component: | mpl | |
Version: | None | Severity: | Problem |
Keywords: | Cc: |
Description
The following four lines fail to compile using gcc 4.1.0 with boost 1.33.1: #include <boost/mpl/vector.hpp> #include <boost/mpl/remove.hpp> template <typename> struct X { struct type {}; }; typedef boost::mpl::remove<boost::mpl::vector<int>, X<int>::type>::type T; Error: boost/mpl/aux_/preprocessed/gcc/template_arity.hpp: In instantiation of ‘const int boost::mpl::aux::template_arity_impl<X<int>::type, 1>::value’: boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:93: instantiated from ‘const int boost::mpl::aux::template_arity<X<int>::type>::value’ boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:98: instantiated from ‘boost::mpl::aux::template_arity<X<int>::type>’ boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp:123: instantiated from ‘boost::mpl::lambda<boost::mpl::same_as<X<int>::type>, mpl_::void_, mpl_::int_<1> >’ boost/mpl/remove_if.hpp:57: instantiated from ‘boost::mpl::aux::remove_if_impl<boost::mpl::vector<int, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::same_as<X<int>::type>, boost::mpl::back_inserter<boost::mpl::vector0<mpl_::na> > >’ boost/mpl/remove.hpp:33: instantiated from ‘boost::mpl::aux::remove_impl<boost::mpl::vector<int, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, X<int>::type, boost::mpl::back_inserter<boost::mpl::vector0<mpl_::na> > >’ boost/mpl/remove.hpp:48: instantiated from ‘boost::mpl::remove<boost::mpl::vector<int, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, X<int>::type, mpl_::na>’ t.cpp:4: instantiated from here boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:85: error: call of overloaded ‘arity_helper(boost::mpl::aux::type_wrapper<X<int>::type>, boost::mpl::aux::arity_tag<1>)’ is ambiguous boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:30: note: candidates are: char (& boost::mpl::aux::arity_helper(...))[1] boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:37: note: char (& boost::mpl::aux::arity_helper(boost::mpl::aux::type_wrapper<F<T1> >, boost::mpl::aux::arity_tag<1>))[2] [with F = X< <template-parameter-1-1> >::type, T1 = int] boost/mpl/aux_/preprocessed/gcc/template_arity.hpp:37: note: char (& boost::mpl::aux::arity_helper(boost::mpl::aux::type_wrapper<F<T1> >, boost::mpl::aux::arity_tag<1>))[2] [with F = X< <template-parameter-1-1> >::type, T1 = int] The code compiles fine with gcc 4.0.2.
Change History (3)
comment:2 by , 15 years ago
Severity: | → Problem |
---|
comment:3 by , 14 years ago
Resolution: | None → fixed |
---|---|
Status: | assigned → closed |
According to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27689#c7, the bug has been fixed in GCC 4.1.2.
I'm marking this as closed.
Note:
See TracTickets
for help on using tickets.