Subject: [Boost-bugs] [Boost C++ Libraries] #5672: Intel compiler failure with BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-07-05 17:27:54
#5672: Intel compiler failure with BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF
-------------------------------------+--------------------------------------
Reporter: anonymous | Owner: jfalcou
Type: Bugs | Status: new
Milestone: To Be Determined | Component: mpl
Version: Boost Development Trunk | Severity: Problem
Keywords: |
-------------------------------------+--------------------------------------
Attempting to use the Intel 11.1 or 12.0 compiler to test the existence of
a nested template using the macro BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF
results in a compiler error. When running the has_xxx.cpp MPL test against
Intel 12.0, the error message is:
"has_xxx.cpp(20): error: more than one instance of overloaded function
"has_xxx_template<T,
fallback_>::has_xxx_template_introspect<U>::has_xxx_template_test [with
T=a5, fallback_=boost::mpl::bool_<false>, U=a5]" matches the argument
list:
function template "boost::mpl::aux::yes_tag
has_xxx_template<T,
fallback_>::has_xxx_template_introspect<U>::has_xxx_template_test(const
volatile boost::mpl::aux::type_wrapper<V> *, has_xxx_template<a5,
boost::mpl::bool_<false>>::has_xxx_template_introspect<a5>::has_xxx_template_substitute0<V::xxx>
*) [with T=a5, fallback_=boost::mpl::bool_<false>, U=a5]"
function template "boost::mpl::aux::yes_tag
has_xxx_template<T,
fallback_>::has_xxx_template_introspect<U>::has_xxx_template_test(const
volatile boost::mpl::aux::type_wrapper<V> *, has_xxx_template<a5,
boost::mpl::bool_<false>>::has_xxx_template_introspect<a5>::has_xxx_template_substitute1<V::xxx>
*) [with T=a5, fallback_=boost::mpl::bool_<false>, U=a5]"
function template "boost::mpl::aux::yes_tag
has_xxx_template<T,
fallback_>::has_xxx_template_introspect<U>::has_xxx_template_test(const
volatile boost::mpl::aux::type_wrapper<V> *, has_xxx_template<a5,
boost::mpl::bool_<false>>::has_xxx_template_introspect<a5>::has_xxx_template_substitute2<V::xxx>
*) [with T=a5, fallback_=boost::mpl::bool_<false>, U=a5]"
function template "boost::mpl::aux::yes_tag
has_xxx_template<T,
fallback_>::has_xxx_template_introspect<U>::has_xxx_template_test(const
volatile boost::mpl::aux::type_wrapper<V> *, has_xxx_template<a5,
boost::mpl::bool_<false>>::has_xxx_template_introspect<a5>::has_xxx_template_substitute3<V::xxx>
*) [with T=a5, fallback_=boost::mpl::bool_<false>, U=a5]"
function template "boost::mpl::aux::yes_tag
has_xxx_template<T,
fallback_>::has_xxx_template_introspect<U>::has_xxx_template_test(const
volatile boost::mpl::aux::type_wrapper<V> *, has_xxx_template<a5,
boost::mpl::bool_<false>>::has_xxx_template_introspect<a5>::has_xxx_template_substitute4<V::xxx>
*) [with T=a5, fallback_=boost::mpl::bool_<false>, U=a5]"
argument types are: (int)
BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(has_xxx_template, xxx, false)
^
detected during:
instantiation of class "has_xxx_template<T,
fallback_>::has_xxx_template_introspect<U> [with T=a5,
fallback_=boost::mpl::bool_<false>, U=a5]" at line 20
instantiation of class "has_xxx_template<T, fallback_> [with
T=a5, fallback_=boost::mpl::bool_<false>]" at line 148 of
"../../../boost/mpl/assert.hpp"
instantiation of class "boost::mpl::assert_arg_pred_not<P>
[with P=has_xxx_template<a5, boost::mpl::bool_<false>>]" at line 82"
The Intel 11.1 compiler has the same error.
John Maddock has reported this to Intel as Intel support ID #635997.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5672> 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