[Boost-bugs] [Boost C++ Libraries] #4304: [karma] uint_ doesn't compile with STLPort

Subject: [Boost-bugs] [Boost C++ Libraries] #4304: [karma] uint_ doesn't compile with STLPort
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-06-06 14:25:01


#4304: [karma] uint_ doesn't compile with STLPort
----------------------------------+-----------------------------------------
 Reporter: andysem | Owner: djowel
     Type: Bugs | Status: new
Milestone: Boost 1.44.0 | Component: spirit
  Version: Boost Release Branch | Severity: Problem
 Keywords: |
----------------------------------+-----------------------------------------
 I get the following error:

 {{{
 ./boost/spirit/home/karma/numeric/uint.hpp:239: error: ‘!
 stlp_std::priv::_Integer_limits<unsigned int, 0u, 4294967295u,
 -0x00000000000000001, true>::is_signed’ is not a valid template argument
 for type ‘bool’ because it is a non-constant expression
 ./boost/spirit/home/karma/numeric/uint.hpp:239: error: no matching
 function for call to ‘assertion_failed(mpl_::failed************
 (boost::spirit::karma::any_uint_generator<unsigned int,
 boost::fusion::unused_type, boost::fusion::unused_type,
 10u>::signed_unsigned_mismatch::************)())’
 }}}

 The problem appears because operator! is used in context of a constant
 expression. While technically this is correct, it seems to confuse GCC.
 The attached patch solves the problem.

 PS: GCC 4.4.1, STLPort 5.2.1.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4304>
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:03 UTC