Opened 10 years ago
Last modified 10 years ago
#7493 closed Bugs
compile fail on intel-linux-12.1.3.0x because of bug on explicit bool conversion — at Version 3
| Reported by: | viboes | Owned by: | viboes | 
|---|---|---|---|
| Milestone: | Boost 1.52.0 | Component: | chrono | 
| Version: | Boost 1.51.0 | Severity: | Problem | 
| Keywords: | Cc: | 
Description (last modified by )
The following code fails 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.
Change History (3)
comment:1 by , 10 years ago
| Description: | modified (diff) | 
|---|---|
| Status: | new → assigned | 
comment:2 by , 10 years ago
comment:3 by , 10 years ago
| Description: | modified (diff) | 
|---|
  Note:
 See   TracTickets
 for help on using tickets.
    
It is enough to do the explicit conversion
typename std::basic_ostream<CharT, Traits>::sentry opfx(os); if (bool(opfx)) {