Subject: [Boost-bugs] [Boost C++ Libraries] #5669: Intel compiler failure to compile duration.hpp
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-07-05 07:06:22
#5669: Intel compiler failure to compile duration.hpp
-----------------------------------------------+----------------------------
Reporter: Edward Rankin <erankin@â¦> | Owner: viboes
Type: Bugs | Status: new
Milestone: To Be Determined | Component: chrono
Version: Boost 1.47.0 | Severity: Problem
Keywords: |
-----------------------------------------------+----------------------------
This ticket is to keep track of the issue first surfaced here:
http://comments.gmane.org/gmane.comp.lib.boost.user/68421
and continued here:
http://comments.gmane.org/gmane.comp.lib.boost.user/68784
In further discussion with Vicente, it turns out that the Intel Compiler
(12.0 and 12.1 beta) for some strange reason requires an additional set of
parenthesis around the first operand for the && operator, despite the
existence of a set of parenthesis.
Essentially the following snippet won't work,
bool = (
(boost::is_convertible<typename Duration::rep,
typename common_type<typename Duration::rep, Rep2>::type>::value)
&&
(boost::is_convertible<Rep2,
typename common_type<typename Duration::rep, Rep2>::type>::value)
)
but
bool = (
((boost::is_convertible<typename Duration::rep,
typename common_type<typename Duration::rep, Rep2>::type>::value))
&&
(boost::is_convertible<Rep2,
typename common_type<typename Duration::rep, Rep2>::type>::value)
)
works.
This is almost certainly a bug in the Intel Compiler. I will be seeking
additional advice on the dev ML and Intel Premier Support on this.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5669> 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:06 UTC