Subject: [Boost-bugs] [Boost C++ Libraries] #6029: Boost.Regex incompatible with G++'s Profile features
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-10-17 09:05:29
#6029: Boost.Regex incompatible with G++'s Profile features
-----------------------------------------------------+----------------------
Reporter: Akim Demaille <akim.demaille@â¦> | Owner: johnmaddock
Type: Bugs | Status: new
Milestone: To Be Determined | Component: regex
Version: Boost 1.47.0 | Severity: Problem
Keywords: profile g++ |
-----------------------------------------------------+----------------------
Using a recent G++ (say 4.6), it is possible to enable libstc++ features
to profile the use of STL features (see
http://gcc.gnu.org/onlinedocs/libstdc++/manual/profile_mode.html).
Boost.Regex (and maybe other libraries, I don't know yet) is not
compilable with it:
{{{
$ g++-mp-4.6 -c -Wall /opt/local/include/boost/regex.hpp -o /tmp/f.o
$ g++-mp-4.6 -c -D_GLIBCXX_PROFILE -Wall
/opt/local/include/boost/regex.hpp -o /tmp/f.o |& sed 20q
In file included from
/opt/local/include/boost/functional/hash/hash.hpp:535:0,
from /opt/local/include/boost/functional/hash.hpp:6,
from
/opt/local/include/boost/regex/v4/basic_regex.hpp:23,
from /opt/local/include/boost/regex/v4/regex.hpp:67,
from /opt/local/include/boost/regex.hpp:31:
/opt/local/include/boost/functional/hash/extensions.hpp:36:33: error:
template declaration of 'std::size_t boost::hash_value'
/opt/local/include/boost/functional/hash/extensions.hpp:36:28: error:
reference to 'vector' is ambiguous
/opt/local/include/boost/detail/container_fwd.hpp:87:47: error: candidates
are: template<class T, class Allocator> struct std::vector
/opt/local/include/gcc46/c++/profile/vector:48:11: error:
template<class _Tp, class _Allocator> class std::__profile::vector
/opt/local/include/boost/functional/hash/extensions.hpp:36:41: error:
expected primary-expression before ',' token
/opt/local/include/boost/functional/hash/extensions.hpp:36:44: error:
expected primary-expression before '>' token
/opt/local/include/boost/functional/hash/extensions.hpp:36:46: error:
expected primary-expression before 'const'
/opt/local/include/boost/functional/hash/extensions.hpp:38:33: error:
template declaration of 'std::size_t boost::hash_value'
/opt/local/include/boost/functional/hash/extensions.hpp:38:28: error:
reference to 'list' is ambiguous
/opt/local/include/boost/detail/container_fwd.hpp:86:47: error: candidates
are: template<class T, class Allocator> struct std::list
/opt/local/include/gcc46/c++/profile/list:42:11: error:
template<class _Tp, class _Allocator> class std::__profile::list
/opt/local/include/boost/functional/hash/extensions.hpp:38:39: error:
expected primary-expression before ',' token
/opt/local/include/boost/functional/hash/extensions.hpp:38:42: error:
expected primary-expression before '>' token
/opt/local/include/boost/functional/hash/extensions.hpp:38:44: error:
expected primary-expression before 'const'
/opt/local/include/boost/functional/hash/extensions.hpp:46:33: error:
template declaration of 'std::size_t boost::hash_value'
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/6029> 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:07 UTC