mirror of
https://github.com/boostorg/mpl.git
synced 2025-08-05 07:44:32 +02:00
restrict MWCW workaround to MWCW only
[SVN r25028]
This commit is contained in:
@@ -285,6 +285,7 @@ enum { \
|
|||||||
|
|
||||||
// BOOST_MPL_ASSERT_MSG( (pred<x,...>::value), USER_PROVIDED_MESSAGE, (types<x,...>) )
|
// BOOST_MPL_ASSERT_MSG( (pred<x,...>::value), USER_PROVIDED_MESSAGE, (types<x,...>) )
|
||||||
|
|
||||||
|
#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202))
|
||||||
# define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
|
# define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
|
||||||
struct msg; \
|
struct msg; \
|
||||||
typedef struct BOOST_PP_CAT(msg,__LINE__) : boost::mpl::assert_ \
|
typedef struct BOOST_PP_CAT(msg,__LINE__) : boost::mpl::assert_ \
|
||||||
@@ -296,9 +297,24 @@ enum { \
|
|||||||
} BOOST_PP_CAT(mpl_assert_arg,__LINE__); \
|
} BOOST_PP_CAT(mpl_assert_arg,__LINE__); \
|
||||||
enum { \
|
enum { \
|
||||||
BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \
|
BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \
|
||||||
boost::mpl::assertion<(c)>::failed( BOOST_PP_CAT(mpl_assert_arg,__LINE__)::assert_arg() ) \
|
boost::mpl::assertion<(c)>::failed( BOOST_PP_CAT(mpl_assert_arg,__LINE__)::assert_arg() ) \
|
||||||
) \
|
) \
|
||||||
}\
|
}\
|
||||||
/**/
|
/**/
|
||||||
|
#else
|
||||||
|
# define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
|
||||||
|
struct msg; \
|
||||||
|
typedef struct BOOST_PP_CAT(msg,__LINE__) : boost::mpl::assert_ \
|
||||||
|
{ \
|
||||||
|
static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \
|
||||||
|
{ return 0; } \
|
||||||
|
} BOOST_PP_CAT(mpl_assert_arg,__LINE__); \
|
||||||
|
enum { \
|
||||||
|
BOOST_PP_CAT(mpl_assertion_in_line_,__LINE__) = sizeof( \
|
||||||
|
boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,__LINE__)::assert_arg() ) \
|
||||||
|
) \
|
||||||
|
}\
|
||||||
|
/**/
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // BOOST_MPL_ASSERT_HPP_INCLUDED
|
#endif // BOOST_MPL_ASSERT_HPP_INCLUDED
|
||||||
|
Reference in New Issue
Block a user