[Boost-bugs] [Boost C++ Libraries] #9249: BOOST_MPL_ASSERT is broken in VC12 (VC++2013RC)

Subject: [Boost-bugs] [Boost C++ Libraries] #9249: BOOST_MPL_ASSERT is broken in VC12 (VC++2013RC)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-10-14 23:53:25


#9249: BOOST_MPL_ASSERT is broken in VC12 (VC++2013RC)
------------------------------+-----------------------
 Reporter: abyx@… | Owner: agurtovoy
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: mpl
  Version: Boost 1.55.0 | Severity: Problem
 Keywords: |
------------------------------+-----------------------
 Code:
 {{{
 #include <boost/mpl/assert.hpp>

 struct true_type {
     static const bool value = true;
 };

 struct pred {
     typedef true_type type;
 };

 static_assert(pred::type::value == true, ""); // ok
 BOOST_MPL_ASSERT((pred)); // error (line #12)
 }}}

 Compiler output:
 {{{
> cl /It:\_lib\boost\1_55_0b1 Source.cpp
 Microsoft (R) C/C++ Optimizing Compiler Version 18.00.20827.3 for x86
 Copyright (C) Microsoft Corporation. All rights reserved.

 Source.cpp
 t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(149) : error C2143: syntax
 error : missing ';' before '<'
         t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(153) : see reference
 to class template instantiation 'boost::mpl::eval_assert<Pred>' being
 compiled
 t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(149) : error C4430: missing
 type specifier - int assumed. Note: C++ does not support default-int
 t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(152) : error C2238: unexpected
 token(s) preceding ';'
 t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(159) : error C2143: syntax
 error : missing ';' before '<'
         t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(163) : see reference
 to class template instantiation 'boost::mpl::eval_assert_not<Pred>' being
 compiled
 t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(159) : error C4430: missing
 type specifier - int assumed. Note: C++ does not support default-int
 t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(162) : error C2238: unexpected
 token(s) preceding ';'
 Source.cpp(12) : error C2039: 'assert_arg' : is not a member of
 'boost::mpl'
 Source.cpp(12) : error C3861: 'assert_arg': identifier not found
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/9249>
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