diff --git a/include/boost/mpl/integral_c.hpp b/include/boost/mpl/integral_c.hpp index bd4088f..daa99e6 100644 --- a/include/boost/mpl/integral_c.hpp +++ b/include/boost/mpl/integral_c.hpp @@ -51,8 +51,12 @@ struct integral_c typedef integral_c next; typedef integral_c prior; #elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ - || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ || BOOST_WORKAROUND(__HP_aCC, BOOST_TESTED_AT(53800)) + // Borland can't handle the casts, and HP doesn't need them + // because the 2nd template parameter is not T but long + typedef integral_c next; + typedef integral_c prior; +#elif BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) typedef integral_c(N + 1)> next; typedef integral_c(N - 1)> prior; #else