Re: [Boost-bugs] [Boost C++ Libraries] #7673: BOOST_RATIO_STATIC_ASSERT: constant "X" is not a type name

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7673: BOOST_RATIO_STATIC_ASSERT: constant "X" is not a type name
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-12-01 22:38:43


#7673: BOOST_RATIO_STATIC_ASSERT: constant "X" is not a type name
----------------------------------+-----------------------------------------
  Reporter: kindr@… | Owner: viboes
      Type: Support Requests | Status: assigned
 Milestone: To Be Determined | Component: ratio
   Version: Boost 1.52.0 | Severity: Problem
Resolution: | Keywords:
----------------------------------+-----------------------------------------
Changes (by viboes):

  * status: new => assigned
  * severity: Showstopper => Problem
  * milestone: Boost 1.52.0 => To Be Determined


Old description:

> Whily compiling a code with icc that uses boost, I get this error:
>
> /home/ac/sroy8/boost_1_52_0/boost/ratio/detail/overflow_helpers.hpp(77):
> error: constant "X" is not a type name
> BOOST_RATIO_STATIC_ASSERT(X <= max - Y ,
> BOOST_RATIO_OVERFLOW_IN_ADD, ());
> ^

New description:

 Whily compiling a code with icc that uses boost, I get this error:


 {{{
 /home/ac/sroy8/boost_1_52_0/boost/ratio/detail/overflow_helpers.hpp(77):
 error: constant "X" is not a type name
         BOOST_RATIO_STATIC_ASSERT(X <= max - Y ,
 BOOST_RATIO_OVERFLOW_IN_ADD, ());
         ^

 }}}

--
Comment:
 Well X is defined as a parameter


 {{{
   template <boost::intmax_t X, boost::intmax_t Y>
   class br_add<X, Y, 1>
   {
       static const boost::intmax_t min =
 boost::integer_traits<boost::intmax_t>::const_min;
       static const boost::intmax_t max =
 boost::integer_traits<boost::intmax_t>::const_max;

       BOOST_RATIO_STATIC_ASSERT(X <= max - Y ,
 BOOST_RATIO_OVERFLOW_IN_ADD, ());
   public:
       static const boost::intmax_t value = X + Y;
   };
 }}}


 I don't know how to fix this other than commenting the line for your
 compiler. Patches are welcome. Please provide the explicit compiler
 version.
-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7673#comment:1>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:11 UTC