Re: [Boost-bugs] [Boost C++ Libraries] #11815: boost::config defines BOOST_NO_CXX11_RVALUE_REFERENCES under icc 15

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11815: boost::config defines BOOST_NO_CXX11_RVALUE_REFERENCES under icc 15
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-11-22 19:20:29


#11815: boost::config defines BOOST_NO_CXX11_RVALUE_REFERENCES under icc 15
-------------------------------+-------------------------
  Reporter: nmusolino@… | Owner: johnmaddock
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: config
   Version: Boost 1.54.0 | Severity: Problem
Resolution: | Keywords: icc
-------------------------------+-------------------------

Comment (by anonymous):

 Thanks, by the way, for your responsiveness on this. I appreciate your
 efforts.

 {{{
 $ tar -xzf boost_1_56_0.tar.gz
 $ icc --version
 icc (ICC) 15.0.4 20150805
 Copyright (C) 1985-2015 Intel Corporation. All rights reserved.
 $ icc -I./boost_1_56_0/ -std=c++11
 ./boost_1_56_0/libs/config/test/config_info.cpp -o
 ./config_info_1_56_0_icc
 $ ./config_info_1_56_0_icc > config_info_output_icc15.txt
 }}}

 I noticed that icc was emulating g++ 5.1 (see \_\_VERSION\_\_ in
 config_info_output_icc51.txt), so I built config_info using g++ 5.1 for
 comparison.

 {{{
 $ g++ --version
 g++ (TPM built 20150527) 5.1.0
 Copyright (C) 2015 Free Software Foundation, Inc.
 $ g++ -I./boost_1_56_0 -std=c++11
 ./boost_1_56_0/libs/config/test/config_info.cpp -o
 config_info_1_56_0_gcc51
 $ ./config_info_1_56_0_gcc51 > config_info_output_gcc51.txt
 }}}

 The following boost config definitions seem incorrect to me, because icc
 15 supports "constexpr" and "noexcept". I realize that the definition of
 BOOST_NOEXCEPT is probably a consequence of BOOST_NO_CXX11_NOEXCEPT being
 defined. Excerpt from attached file config_info_output_icc15.txt:

 {{{
     BOOST_COMPILER_CONFIG
 ="boost/config/compiler/intel.hpp"
     [...]
     BOOST_NO_CXX11_CONSTEXPR [no value]
     [...]
     BOOST_NO_CXX11_NOEXCEPT [no value]
     [...]
     BOOST_CONSTEXPR [no value]
     BOOST_CONSTEXPR_OR_CONST =const
     BOOST_STATIC_CONSTEXPR =static const
     BOOST_NOEXCEPT [no value]
     [...]
 }}}

 In contrast, these defintions appear correct under g++ 5.1. Excerpt from
 attached file config_info_output_gcc51.txt:

 {{{
     BOOST_COMPILER_CONFIG
 ="boost/config/compiler/gcc.hpp"
     [...]
     BOOST_CONSTEXPR =constexpr
     BOOST_CONSTEXPR_OR_CONST =constexpr
     BOOST_STATIC_CONSTEXPR =static constexpr
     BOOST_NOEXCEPT =noexcept
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11815#comment:6>
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:19 UTC