Workaround HP bugs

[SVN r16513]
This commit is contained in:
Dave Abrahams
2002-12-04 16:05:47 +00:00
parent d883ad51d8
commit 1433cb707a

View File

@@ -22,7 +22,14 @@
namespace boost { namespace boost {
namespace mpl { namespace mpl {
template< typename T, T N > template< typename T,
// the type of non-type template arguments may not depend on template arguments
#if defined(BOOST_STRICT_CONFIG) || !defined(__HP_aCC) || __HP_aCC > 33900
T
#else
long
#endif
N >
struct integral_c struct integral_c
{ {
BOOST_STATIC_CONSTANT(T, value = N); BOOST_STATIC_CONSTANT(T, value = N);
@@ -39,8 +46,10 @@ struct integral_c
public: public:
typedef integral_c<T, next_value> next; typedef integral_c<T, next_value> next;
typedef integral_c<T, prior_value> prior; typedef integral_c<T, prior_value> prior;
#elif defined(__BORLANDC__) && (__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG)) \ #elif !defined(BOOST_STRICT_CONFIG) \
|| defined(__IBMCPP__) && (__IBMCPP__ <= 502 || !defined(BOOST_STRICT_CONFIG)) && (defined(__BORLANDC__) && __BORLANDC__ <= 0x561 \
|| defined(__IBMCPP__) && __IBMCPP__ <= 502 \
|| defined(__HP_aCC) && __HP_aCC <= 33900)
typedef integral_c<T, (N + 1)> next; typedef integral_c<T, (N + 1)> next;
typedef integral_c<T, (N - 1)> prior; typedef integral_c<T, (N - 1)> prior;
#else #else