Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11874: Compilation error with GCC4.6 in C++11 mode
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-07-12 09:10:29
#11874: Compilation error with GCC4.6 in C++11 mode
-------------------------------+-----------------------------------------
Reporter: Antony Polukhin | Owner: Emil Dotchevski
Type: Bugs | Status: reopened
Milestone: To Be Determined | Component: exception
Version: Boost 1.64.0 | Severity: Regression
Resolution: | Keywords: c++11 exception type_traits
-------------------------------+-----------------------------------------
Comment (by Richard Hazlewood <boost@â¦>):
Had same issue, but can confirm it does compile on the ''develop'' branch
- not surprising because the code (''error_info_impl.hpp'') is guarded
with:
{{{
#if (__GNUC__*100+__GNUC_MINOR__!=406) //workaround for g++ bug
}}}
We found that boost::thread fails to compile with the 1.64.0 release.\\
Compiler call (with -d2):\\
(Our ''user-config.jam'' points to g++4.6.4 with ''-std=c++0x'').
{{{
./b2 --user-config=./user-config.jam toolset=gcc-std0x link=static -q -d2
--with-thread
}}}
{{{
gcc.compile.c++ bin.v2/libs/thread/build/gcc-std0x/release/link-static
/threading-multi/pthread/thread.o
"g++" -ftemplate-depth-128 -std=c++0x -O3 -finline-functions -Wno-
inline -Wall -pedantic -pthread -m64 -Wextra -Wno-long-long -Wno-unused-
parameter -Wunused-function -pedantic -DBOOST_ALL_NO_LIB=1
-DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1
-DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_THREAD_POSIX -DNDEBUG -I"." -c -o
"bin.v2/libs/thread/build/gcc-std0x/release/link-static/threading-
multi/pthread/thread.o" "libs/thread/src/pthread/thread.cpp"
In file included from ./boost/config.hpp:61:0,
from ./boost/thread/detail/config.hpp:11,
from libs/thread/src/pthread/thread.cpp:9:
./boost/exception/info.hpp:67:42: error: declaration of
âboost::error_info<Tag, T>::error_info(boost::error_info<Tag, T>&&)
noexcept (noexcept ((boost::error_info<Tag,
T>::value_type)(std::move(boost::error_info<Tag, T>::x.value_))))â has a
different exception specifier
error_info( error_info<Tag,T> && x )
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(value_type(std::move(error_info<Tag,T>::x.value_)))):
^
In file included from ./boost/exception/info.hpp:17:0,
from ./boost/exception/detail/exception_ptr.hpp:20,
from ./boost/exception_ptr.hpp:9,
from ./boost/thread/exceptional_ptr.hpp:10,
from ./boost/thread/future.hpp:25,
from libs/thread/src/pthread/thread.cpp:19:
./boost/exception/detail/error_info_impl.hpp:54:9: error: from previous
declaration âboost::error_info<Tag, T>::error_info(boost::error_info<Tag,
T>&&) noexcept (noexcept ((boost::error_info<Tag,
T>::value_type)(std::move(x.value_))))â
error_info( error_info<Tag,T> && x )
BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(value_type(std::move(x.value_))));
^
}}}
-- Ticket URL: <https://svn.boost.org/trac10/boost/ticket/11874#comment:28> 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-07-12 09:13:30 UTC