Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7493: compile fail on intel-linux-12.1.3.0x because of bug on explicit bool conversion
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-10-10 22:44:44
#7493: compile fail on intel-linux-12.1.3.0x because of bug on explicit bool
conversion
---------------------------+------------------------------------------------
Reporter: viboes | Owner: viboes
Type: Bugs | Status: assigned
Milestone: Boost 1.52.0 | Component: chrono
Version: Boost 1.51.0 | Severity: Problem
Resolution: | Keywords:
---------------------------+------------------------------------------------
Changes (by viboes):
* status: new => assigned
Old description:
> The following code fail to compile with intel-linux-12.1.3.0x
>
> {{{
> typename std::basic_ostream<CharT, Traits>::sentry opfx(os);
> if (bool(opfx))
> {
> }}}
>
> with the message
>
> {{{
> ../../../boost/chrono/io/duration_io.hpp(130): error: expression must
> have bool type (or be convertible to bool)
> if (opfx)
> }}}
>
> even if sentry defines an explicit bool conversion.
>
> A workaround to this issue is needed.
New description:
The following code fail to compile with intel-linux-12.1.3.0x
{{{
typename std::basic_ostream<CharT, Traits>::sentry opfx(os);
if (opfx)
{
}}}
with the message
{{{
../../../boost/chrono/io/duration_io.hpp(130): error: expression must have
bool type (or be convertible to bool)
if (opfx)
}}}
even if sentry defines an explicit bool conversion.
A workaround to this issue is needed.
-- Comment: It is enough to do the explicit conversion {{{ typename std::basic_ostream<CharT, Traits>::sentry opfx(os); if (bool(opfx)) { }}} -- Ticket URL: <https://svn.boost.org/trac/boost/ticket/7493#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:10 UTC