[Boost-bugs] [Boost C++ Libraries] #10420: icpc issue when mixing boost and cuda.

Subject: [Boost-bugs] [Boost C++ Libraries] #10420: icpc issue when mixing boost and cuda.
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-08-29 12:04:44


#10420: icpc issue when mixing boost and cuda.
--------------------------------------+-------------------------
 Reporter: Alain Miniussi <alain@…> | Owner: johnmaddock
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: config
  Version: Boost Development Trunk | Severity: Problem
 Keywords: |
--------------------------------------+-------------------------
 There are 2 problems when using nvcc with intel's compiler and including
 boost headers.
 Considering the following '''truc.cu''' file:
 {{{
 #include "boost/container/vector.hpp"

 int
 main() {
   return 0;
 }
 }}}

 The compilation raises the following two issues:
 {{{
 [alainm_at_gurney bug]$ nvcc -ccbin=icpc -c ./truc.cu -I../include
 nvcc warning : The 'compute_10' and 'sm_10' architectures are deprecated,
 and may be removed in a future release.
 In file included from ../include/boost/config.hpp(39),
                  from
 ../include/boost/container/detail/config_begin.hpp(12),
                  from ../include/boost/container/vector.hpp(18),
                  from ./truc.cu(1):
 ../include/boost/config/compiler/intel.hpp(40): warning #47: incompatible
 redefinition of macro "BOOST_COMPILER" (declared at line 11 of
 "../include/boost/config/compiler/nvcc.hpp")
   #define BOOST_COMPILER "Intel C++ version "
 BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
           ^

 ../include/boost/config/suffix.hpp(496): error: identifier "__int128" is
 undefined

 ../include/boost/config/suffix.hpp(497): error: expected a ";"

 ../include/boost/type_traits/is_integral.hpp(73): error: namespace "boost"
 has no member "uint128_type"

 ../include/boost/type_traits/is_integral.hpp(73): error: class
 "boost::is_integral<boost::int128_type>" has already been defined

 ../include/boost/type_traits/is_integral.hpp(73): error: namespace "boost"
 has no member "uint128_type"

 ../include/boost/type_traits/is_integral.hpp(73): error: class
 "boost::is_integral<const boost::int128_type>" has already been defined

 ../include/boost/type_traits/is_integral.hpp(73): error: namespace "boost"
 has no member "uint128_type"

 ../include/boost/type_traits/is_integral.hpp(73): error: class
 "boost::is_integral<volatile boost::int128_type>" has already been defined

 ../include/boost/type_traits/is_integral.hpp(73): error: namespace "boost"
 has no member "uint128_type"

 ../include/boost/type_traits/is_integral.hpp(73): error: class
 "boost::is_integral<const volatile boost::int128_type>" has already been
 defined

 ../include/boost/functional/hash/hash.hpp(116): error: namespace "boost"
 has no member "uint128_type"

 ../include/boost/functional/hash/hash.hpp(468): error: namespace "boost"
 has no member "uint128_type"

 ../include/boost/functional/hash/hash.hpp(468): error: class
 "boost::hash<boost::int128_type>" has already been defined

 ../include/boost/functional/hash/hash.hpp(468): error: namespace "boost"
 has no member "uint128_type"

 ../include/boost/functional/hash/hash.hpp(468): error: namespace "boost"
 has no member "uint128_type"

 ../include/boost/type_traits/make_unsigned.hpp(77): error: namespace
 "boost" has no member "uint128_type"

 ../include/boost/type_traits/make_unsigned.hpp(109): error: namespace
 "boost" has no member "uint128_type"

 17 errors detected in the compilation of
 "/tmp/tmpxft_000052b6_00000000-6_truc.cpp1.ii".
 [alainm_at_gurney bug]$
 }}}

 The two problem are the double definition of '''BOOST_COMPILER''' (handled
 with gcc and visualc) and the absence of int128 in that mode.

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