[Boost-bugs] [Boost C++ Libraries] #10124: Compile error on Container with intel-win

Subject: [Boost-bugs] [Boost C++ Libraries] #10124: Compile error on Container with intel-win
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-06-14 16:58:08


#10124: Compile error on Container with intel-win
-------------------------------------------------+-------------------------
 Reporter: Elmira Semenova | Owner: igaztanaga
  <elmira.a.semenova@…> | Status: new
     Type: Bugs | Component: container
Milestone: To Be Determined | Severity: Problem
  Version: Boost 1.55.0 |
 Keywords: intel.hpp |
-------------------------------------------------+-------------------------
 Intel Windows compiler (12.1, 13.0, 14.0, 15.0) fails on build of Boost
 1.55.0 container lib because intel.hpp contains
 #if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION > 1200)
 . . .
 # undef BOOST_NO_CXX11_VARIADIC_TEMPLATES


 icl /nologo -TP /Zc:forScope /Zc:wchar_t -D_SECURE_SCL=0 /EHs -c
 -DBOOST_ALL_NO_LIB=1 "-I../../.." flat_tree_test.cpp
 flat_tree_test.cpp
 //nssfiler01.ins.intel.com/wref1/ref/vs2013/VC/include/utility(198):
 error: incomplete type is not allowed
         _Ty1 first; // the first stored value
              ^
           detected during:
             instantiation of class "std::pair<_Ty1, _Ty2> [with
 _Ty1=recursive_flat_map, _Ty2=recursive_flat_map]" at line 229 of
 "../../../boost/intrusive/detail/has_member_function_ca
 llable_with.hpp"
             instantiation of class
 "boost::container::container_detail::has_member_function_callable_with_select_on_container_copy_construction_impl<Fun,
 1> [with Fun=const std::allocat
 or<std::pair<recursive_flat_map, recursive_flat_map>>]" at line 270 of
 "../../../boost/intrusive/detail/has_member_function_callable_with.hpp"
             instantiation of class
 "boost::container::container_detail::has_member_function_callable_with_select_on_container_copy_construction<Fun,
 Args...> [with Fun=const std::alloca
 tor<std::pair<recursive_flat_map, recursive_flat_map>>, Args=<>]" at line
 262 of "../../../boost/container/allocator_traits.hpp"
             instantiation of class
 "boost::container::allocator_traits<Alloc> [with
 Alloc=std::allocator<std::pair<recursive_flat_map, recursive_flat_map>>]"
 at line 113 of "../../../bo
 ost/container/flat_map.hpp"
             instantiation of class "boost::container::flat_map<Key, T,
 Compare, Allocator> [with Key=recursive_flat_map, T=recursive_flat_map,
 Compare=std::less<recursive_flat_map>, All
 ocator=std::allocator<std::pair<recursive_flat_map, recursive_flat_map>>]"
 at line 225 of "flat_tree_test.cpp"

 compilation aborted for flat_tree_test.cpp (code 4)


 Variadic templates v0.9 is supported since Intel Compiler Version 12.1.
 intel.hpp should be fixed to successful build Container:

 diff boost/config/compiler/intel.hpp boost/config/compiler/intel.hpp_OLD
 238,241c238
 <
 < // http://software.intel.com/en-us/articles/c0x-features-supported-by-
 intel-c-compiler/
 < // N2242 Variadic templates v0.9 is supported since Version 12.0 Update
 6 or 12.1
 < //# undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
 ---
> # undef BOOST_NO_CXX11_VARIADIC_TEMPLATES

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10124>
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:16 UTC