more MIPSpro fixes

[SVN r24948]
This commit is contained in:
Aleksey Gurtovoy
2004-09-07 09:06:10 +00:00
parent 8373f7b2a6
commit 8ab336fe62
2 changed files with 10 additions and 11 deletions

View File

@@ -16,7 +16,7 @@
#include <boost/mpl/if.hpp> #include <boost/mpl/if.hpp>
#include <boost/mpl/int.hpp> #include <boost/mpl/int.hpp>
#include <boost/mpl/aux_/config/msvc.hpp> #include <boost/mpl/aux_/config/integral.hpp>
#include <boost/config.hpp> #include <boost/config.hpp>
namespace boost { namespace mpl { namespace aux { namespace boost { namespace mpl { namespace aux {
@@ -38,8 +38,7 @@ template<> struct integral_rank<long> : int_<10> {};
template<> struct integral_rank<unsigned long> : int_<11> {}; template<> struct integral_rank<unsigned long> : int_<11> {};
template< typename T1, typename T2 > struct largest_int template< typename T1, typename T2 > struct largest_int
#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ #if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
&& !BOOST_WORKAROUND(__EDG_VERSION__, <= 238)
: if_c< : if_c<
( integral_rank<T1>::value >= integral_rank<T2>::value ) ( integral_rank<T1>::value >= integral_rank<T2>::value )
, T1 , T1

View File

@@ -16,11 +16,11 @@
#include <boost/mpl/integral_c.hpp> #include <boost/mpl/integral_c.hpp>
#include <boost/mpl/aux_/msvc_eti_base.hpp> #include <boost/mpl/aux_/msvc_eti_base.hpp>
#include <boost/mpl/aux_/config/eti.hpp>
#include <boost/mpl/aux_/na_spec.hpp> #include <boost/mpl/aux_/na_spec.hpp>
#include <boost/mpl/aux_/lambda_support.hpp> #include <boost/mpl/aux_/lambda_support.hpp>
#include <boost/mpl/aux_/config/msvc.hpp> #include <boost/mpl/aux_/config/eti.hpp>
#include <boost/mpl/aux_/config/workaround.hpp> #include <boost/mpl/aux_/config/integral.hpp>
#include <boost/mpl/aux_/config/static_constant.hpp>
namespace boost { namespace mpl { namespace boost { namespace mpl {
@@ -52,11 +52,11 @@ struct negate
BOOST_MPL_AUX_NA_SPEC(1, negate) BOOST_MPL_AUX_NA_SPEC(1, negate)
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) #if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
namespace aux { namespace aux {
template< typename T, T n > struct msvc_negate_impl template< typename T, T n > struct negate_wknd
{ {
enum msvc_wknd { value = -n }; BOOST_STATIC_CONSTANT(T, value = -n);
typedef integral_c<T,value> type; typedef integral_c<T,value> type;
}; };
} }
@@ -65,9 +65,9 @@ template< typename T, T n > struct msvc_negate_impl
template<> template<>
struct negate_impl<integral_c_tag> struct negate_impl<integral_c_tag>
{ {
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) #if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC)
template< typename N > struct apply template< typename N > struct apply
: aux::msvc_negate_impl< typename N::value_type, N::value > : aux::negate_wknd< typename N::value_type, N::value >
#else #else
template< typename N > struct apply template< typename N > struct apply
: integral_c< typename N::value_type, (-N::value) > : integral_c< typename N::value_type, (-N::value) >