[Boost-bugs] [Boost C++ Libraries] #5672: Intel compiler failure with BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF

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