Subject: [Boost-bugs] [Boost C++ Libraries] #9205: [variant or mpl] compilation error VC2013
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-10-07 08:38:13
#9205: [variant or mpl] compilation error VC2013
-----------------------------------------------+-------------------------
Reporter: Akira Takahashi <faithandbrave@â¦> | Owner: ebf
Type: Bugs | Status: new
Milestone: To Be Determined | Component: variant
Version: Boost 1.55.0 | Severity: Showstopper
Keywords: |
-----------------------------------------------+-------------------------
I tried to use Boost 1.55.0 Beta RC's boost::variant with VC2013 RC.
Compilation error this code:
{{{
#include <boost/variant.hpp>
int main()
{
boost::variant<int, char> v;
}
}}}
Error message is here:
(sorry, japanese error message...)
{{{
1>------ ãã«ãéå§: ããã¸ã§ã¯ã:CppConsole, æ§æ:Debug Win32 ------
1> main.cpp
1>c:\boost\boost-trunk-master\boost\mpl\assert.hpp(149): error C2143:
æ§æã¨ã©ã¼ : ';' ã '<' ã®åã«ããã¾ããã
1> c:\boost\boost-trunk-master\boost\mpl\assert.hpp(153) :
ã³ã³ãã¤ã«ãããã¯ã©ã¹ã® ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å 'boost::mpl::eval_assert<Pred>' ã®åç
§ã確èªãã¦ãã ãã
1>c:\boost\boost-trunk-master\boost\mpl\assert.hpp(149): error C4430:
åæå®åãããã¾ãã - int ã¨ä»®å®ãã¾ãããã¡ã¢: C++ 㯠int ãæ¢å®å¤ã¨ãã¦ãµãã¼ããã¦ãã¾ãã
1>c:\boost\boost-trunk-master\boost\mpl\assert.hpp(152): error C2238: ';'
ã®åã«ç¡å¹ãªãã¼ã¯ã³ãããã¾ãã
1>c:\boost\boost-trunk-master\boost\mpl\assert.hpp(159): error C2143:
æ§æã¨ã©ã¼ : ';' ã '<' ã®åã«ããã¾ããã
1> c:\boost\boost-trunk-master\boost\mpl\assert.hpp(163) :
ã³ã³ãã¤ã«ãããã¯ã©ã¹ã® ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å 'boost::mpl::eval_assert_not<Pred>'
ã®åç
§ã確èªãã¦ãã ãã
1>c:\boost\boost-trunk-master\boost\mpl\assert.hpp(159): error C4430:
åæå®åãããã¾ãã - int ã¨ä»®å®ãã¾ãããã¡ã¢: C++ 㯠int ãæ¢å®å¤ã¨ãã¦ãµãã¼ããã¦ãã¾ãã
1>c:\boost\boost-trunk-master\boost\mpl\assert.hpp(162): error C2238: ';'
ã®åã«ç¡å¹ãªãã¼ã¯ã³ãããã¾ãã
1>c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\arg.hpp(45): error C2039:
'assert_not_arg' : 'boost::mpl' ã®ã¡ã³ãã¼ã§ã¯ããã¾ããã
1> c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\apply_wrap.hpp(49) : ã³ã³ãã¤ã«ãããã¯ã©ã¹ã®
ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::arg<1>::apply<T1,T2,boost::mpl::na,boost::mpl::na,boost::mpl::na>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> T1=boost::mpl::l_end
1> , T2=int
1> ]
1> c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\apply.hpp(63) : ã³ã³ãã¤ã«ãããã¯ã©ã¹ã®
ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::apply_wrap2<boost::mpl::protect<boost::mpl::arg<1>,0>,T1,T2>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> T1=boost::mpl::l_end
1> , T2=int
1> ]
1> c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\reverse_fold_impl.hpp(74) :
ã³ã³ãã¤ã«ãããã¯ã©ã¹ã® ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::apply2<ForwardOp,boost::mpl::l_end,int>' ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> ForwardOp=boost::mpl::arg<1>
1> ]
1> c:\boost\boost-trunk-master\boost\mpl\reverse_fold.hpp(41) :
ã³ã³ãã¤ã«ãããã¯ã©ã¹ã® ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::aux::reverse_fold_impl<2,boost::mpl::l_iter<boost::mpl::list2<T0,T1>>,boost::mpl::l_iter<boost::mpl::l_end>,State,BackwardOp,ForwardOp>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> T0=int
1> , T1=char
1> , State=boost::mpl::l_end
1> ,
BackwardOp=boost::mpl::bind2<boost::mpl::lambda<boost::mpl::push_front<boost::mpl::na,boost::mpl::na>,boost::mpl::void_>::type,boost::mpl::_1,boost::mpl::bind1<boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<boost::unwrap_recursive,boost::mpl::void_>,boost::mpl::arg<1>>,0>,boost::mpl::_2>>
1> , ForwardOp=boost::mpl::arg<1>
1> ]
1> c:\boost\boost-trunk-master\boost\mpl\transform.hpp(65) :
ã³ã³ãã¤ã«ãããã¯ã©ã¹ã® ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::reverse_fold<Seq,boost::mpl::l_end,boost::mpl::bind2<boost::mpl::lambda<boost::mpl::push_front<boost::mpl::na,boost::mpl::na>,boost::mpl::void_>::type,boost::mpl::_1,boost::mpl::bind1<boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>,boost::mpl::_2>>,boost::mpl::arg<1>>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> Seq=boost::mpl::list2<int,char>
1> , F=boost::unwrap_recursive
1> , Tag=boost::mpl::void_
1> ]
1> c:\boost\boost-trunk-master\boost\mpl\transform.hpp(113) :
ã³ã³ãã¤ã«ãããã¯ã©ã¹ã® ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::aux::reverse_transform1_impl<P1,P2,boost::mpl::front_inserter<boost::mpl::clear_impl<boost::mpl::aux::list_tag>::apply<Sequence>::type>>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> P1=boost::mpl::list2<int,char>
1> , P2=boost::unwrap_recursive<boost::mpl::_1>
1> , Sequence=boost::mpl::list2<int,char>
1> ]
1> c:\boost\boost-trunk-master\boost\mpl\eval_if.hpp(41) :
ã³ã³ãã¤ã«ãããã¯ã©ã¹ã® ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::transform1<Seq1,Seq2OrOperation,OperationOrInserter>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> Seq1=boost::mpl::list2<int,char>
1> , Seq2OrOperation=boost::unwrap_recursive<boost::mpl::_1>
1> , OperationOrInserter=boost::mpl::na
1> ]
1> c:\boost\boost-trunk-master\boost\mpl\transform.hpp(138) :
ã³ã³ãã¤ã«ãããã¯ã©ã¹ã® ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::eval_if<boost::mpl::or_<boost::mpl::is_na<boost::mpl::na>,boost::mpl::is_lambda_expression<Seq2OrOperation>,boost::mpl::not_<boost::mpl::is_sequence<Seq2OrOperation>>,boost::mpl::false_,boost::mpl::false_>,boost::mpl::transform1<Seq1,Seq2OrOperation,OperationOrInserter>,boost::mpl::transform2<Seq1,Seq2OrOperation,OperationOrInserter,Inserter>>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> Seq2OrOperation=boost::unwrap_recursive<boost::mpl::_1>
1> , Seq1=boost::mpl::list2<int,char>
1> , OperationOrInserter=boost::mpl::na
1> , Inserter=boost::mpl::na
1> ]
1> c:\boost\boost-trunk-master\boost\variant\variant.hpp(1209) :
ã³ã³ãã¤ã«ãããã¯ã©ã¹ã® ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::transform<boost::mpl::list2<T0,T1>,boost::unwrap_recursive<boost::mpl::_1>,boost::mpl::na,boost::mpl::na>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> T0=int
1> , T1=char
1> ]
1> c:\users\a_takahashi\documents\visual studio
2013\projects\cppconsole\cppconsole\main.cpp(5) : ã³ã³ãã¤ã«ãããã¯ã©ã¹ã® ãã³ãã¬ã¼ã
ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::variant<int,char,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>'
ã®åç
§ã確èªãã¦ãã ãã
1>c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\arg.hpp(45): error C3861:
'assert_not_arg': èå¥åãè¦ã¤ããã¾ããã§ãã
1>c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\arg.hpp(63): error C2039:
'assert_not_arg' : 'boost::mpl' ã®ã¡ã³ãã¼ã§ã¯ããã¾ããã
1> c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\apply_wrap.hpp(80) : ã³ã³ãã¤ã«ãããã¯ã©ã¹ã®
ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å 'boost::mpl::arg<2>::apply<T1,T2,T3,T4,T5>' ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> T1=boost::mpl::l_end
1> , T2=char
1> , T3=boost::mpl::na
1> , T4=boost::mpl::na
1> , T5=boost::mpl::na
1> ]
1> c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\bind.hpp(50) : ã³ã³ãã¤ã«ãããã¯ã©ã¹ã®
ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::apply_wrap5<boost::mpl::arg<2>,U1,U2,U3,U4,U5>' ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> U1=boost::mpl::l_end
1> , U2=char
1> , U3=boost::mpl::na
1> , U4=boost::mpl::na
1> , U5=boost::mpl::na
1> ]
1> c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\bind.hpp(143) : ã³ã³ãã¤ã«ãããã¯ã©ã¹ã®
ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::aux::resolve_bind_arg<boost::mpl::arg<2>,U1,U2,U3,U4,U5>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> U1=boost::mpl::l_end
1> , U2=char
1> , U3=boost::mpl::na
1> , U4=boost::mpl::na
1> , U5=boost::mpl::na
1> ]
1> c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\apply_wrap.hpp(80) : ã³ã³ãã¤ã«ãããã¯ã©ã¹ã®
ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::bind1<boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>,boost::mpl::_2>::apply<T1,T2,T3,T4,T5>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> F=boost::unwrap_recursive
1> , Tag=boost::mpl::void_
1> , T1=boost::mpl::l_end
1> , T2=char
1> , T3=boost::mpl::na
1> , T4=boost::mpl::na
1> , T5=boost::mpl::na
1> ]
1> c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\bind.hpp(160) : ã³ã³ãã¤ã«ãããã¯ã©ã¹ã®
ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::apply_wrap5<boost::mpl::bind1<boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>,boost::mpl::_2>,U1,U2,U3,U4,U5>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> F=boost::unwrap_recursive
1> , Tag=boost::mpl::void_
1> , U1=boost::mpl::l_end
1> , U2=char
1> , U3=boost::mpl::na
1> , U4=boost::mpl::na
1> , U5=boost::mpl::na
1> ]
1> c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\bind.hpp(206) : ã³ã³ãã¤ã«ãããã¯ã©ã¹ã®
ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::aux::resolve_bind_arg<boost::mpl::bind1<boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>,boost::mpl::_2>,U1,U2,U3,U4,U5>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> F=boost::unwrap_recursive
1> , Tag=boost::mpl::void_
1> , U1=boost::mpl::l_end
1> , U2=char
1> , U3=boost::mpl::na
1> , U4=boost::mpl::na
1> , U5=boost::mpl::na
1> ]
1> c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\apply_wrap.hpp(49) : ã³ã³ãã¤ã«ãããã¯ã©ã¹ã®
ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::bind2<boost::mpl::lambda<boost::mpl::push_front<boost::mpl::na,boost::mpl::na>,boost::mpl::void_>::type,boost::mpl::_1,boost::mpl::bind1<boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>,boost::mpl::_2>>::apply<T1,T2,boost::mpl::na,boost::mpl::na,boost::mpl::na>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> F=boost::unwrap_recursive
1> , Tag=boost::mpl::void_
1> , T1=boost::mpl::l_end
1> , T2=char
1> ]
1> c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\apply.hpp(63) : ã³ã³ãã¤ã«ãããã¯ã©ã¹ã®
ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::apply_wrap2<boost::mpl::bind2<boost::mpl::lambda<boost::mpl::push_front<boost::mpl::na,boost::mpl::na>,boost::mpl::void_>::type,boost::mpl::_1,boost::mpl::bind1<boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>,0>,boost::mpl::_2>>,T1,T2>'
ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1> F=boost::unwrap_recursive
1> , Tag=boost::mpl::void_
1> , T1=boost::mpl::l_end
1> , T2=char
1> ]
1> c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\reverse_fold_impl.hpp(81) :
ã³ã³ãã¤ã«ãããã¯ã©ã¹ã® ãã³ãã¬ã¼ã ã®ã¤ã³ã¹ã¿ã³ã¹å
'boost::mpl::apply2<BackwardOp,boost::mpl::l_end,char>' ã®åç
§ã確èªãã¦ãã ãã
1> with
1> [
1>
BackwardOp=boost::mpl::bind2<boost::mpl::lambda<boost::mpl::push_front<boost::mpl::na,boost::mpl::na>,boost::mpl::void_>::type,boost::mpl::_1,boost::mpl::bind1<boost::mpl::protect<boost::mpl::bind1<boost::mpl::quote1<boost::unwrap_recursive,boost::mpl::void_>,boost::mpl::arg<1>>,0>,boost::mpl::_2>>
1> ]
1>c:\boost\boost-trunk-
master\boost\mpl\aux_\preprocessed\plain\arg.hpp(63): error C3861:
'assert_not_arg': èå¥åãè¦ã¤ããã¾ããã§ãã
========== ãã«ã: 0 æ£å¸¸çµäºã1 失æã0 æ´æ°ä¸è¦ã0 ã¹ããã ==========
}}}
patch to boost/mpl/assert.hpp, line 137:
{{{
#if BOOST_WORKAROUND(BOOST_MSVC, >= 1700)
}}}
to
{{{
#if BOOST_WORKAROUND(BOOST_MSVC, == 1700)
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/9205> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:14 UTC