[Boost-bugs] [Boost C++ Libraries] #6029: Boost.Regex incompatible with G++'s Profile features

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