From 1433cb707ae5f9a2a3cd93387241d770f6b7f20c Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Wed, 4 Dec 2002 16:05:47 +0000 Subject: [PATCH] Workaround HP bugs [SVN r16513] --- include/boost/mpl/integral_c.hpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/include/boost/mpl/integral_c.hpp b/include/boost/mpl/integral_c.hpp index 15cfd47..a7bea50 100644 --- a/include/boost/mpl/integral_c.hpp +++ b/include/boost/mpl/integral_c.hpp @@ -22,7 +22,14 @@ namespace boost { 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 { BOOST_STATIC_CONSTANT(T, value = N); @@ -39,8 +46,10 @@ struct integral_c public: typedef integral_c next; typedef integral_c prior; -#elif defined(__BORLANDC__) && (__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG)) \ - || defined(__IBMCPP__) && (__IBMCPP__ <= 502 || !defined(BOOST_STRICT_CONFIG)) +#elif !defined(BOOST_STRICT_CONFIG) \ + && (defined(__BORLANDC__) && __BORLANDC__ <= 0x561 \ + || defined(__IBMCPP__) && __IBMCPP__ <= 502 \ + || defined(__HP_aCC) && __HP_aCC <= 33900) typedef integral_c next; typedef integral_c prior; #else