[Boost-bugs] [Boost C++ Libraries] #3712: Bug in xpressive

Subject: [Boost-bugs] [Boost C++ Libraries] #3712: Bug in xpressive
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-12-03 19:51:44


#3712: Bug in xpressive
-----------------------------------+----------------------------------------
 Reporter: pabloh@… | Owner: eric_niebler
     Type: Bugs | Status: new
Milestone: Boost 1.42.0 | Component: xpressive
  Version: Boost 1.41.0 | Severity: Showstopper
 Keywords: |
-----------------------------------+----------------------------------------
 Hello,

 I used to had an old version of boost (I don't remember exactly which) and
 my code worked fine. Now I updated to the last version and I started to
 receive compilation errors in linux when using a std::vector with regular
 expressions from boost::xpressive, in windows it compiles fine.
 This code doesn't compile:

 #include <vector>
 #include <boost/xpressive/xpressive.hpp>

 typedef boost::xpressive::basic_regex<std::string::const_iterator>
 regex_t;

 int main(int argc, char* argv[])
 {
         std::vector<regex_t> vector;
         vect.push_back(regex_t());

         return 0;
 }

 Compiler output:


 cd '/home/segurmatica/console_filter/debug' && WANT_AUTOCONF_2_5="1"
 WANT_AUTOMAKE_1_6="1" LC_MESSAGES="C" LC_CTYPE="C" gmake -k
 gmake all-recursive
 Making all in src
 compiling console_filter.cpp (g++)
 In file included from /usr/local/lib/gcc/i686-pc-linux-
 gnu/4.4.2/../../../../include/c++/4.4.2/vector:63,
 from /home/segurmatica/console_filter/src/console_filter.cpp:1:
 /usr/local/lib/gcc/i686-pc-linux-
 gnu/4.4.2/../../../../include/c++/4.4.2/bits/stl_construct.h: In static
 member function 'static void std::_Destroy_aux<<anonymous>
>::__destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator =
 boost::xpressive::basic_regex<__gnu_cxx::__normal_iterator<const char*,
 std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
>*, bool <anonymous> = false]':
 /usr/local/lib/gcc/i686-pc-linux-
 gnu/4.4.2/../../../../include/c++/4.4.2/bits/stl_construct.h:116:
 instantiated from 'void std::_Destroy(_ForwardIterator, _ForwardIterator)
 [with _ForwardIterator =
 boost::xpressive::basic_regex<__gnu_cxx::__normal_iterator<const char*,
 std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
>*]'
 /usr/local/lib/gcc/i686-pc-linux-
 gnu/4.4.2/../../../../include/c++/4.4.2/bits/stl_construct.h:142:
 instantiated from 'void std::_Destroy(_ForwardIterator, _ForwardIterator,
 std::allocator<_T2>&) [with _ForwardIterator =
 boost::xpressive::basic_regex<__gnu_cxx::__normal_iterator<const char*,
 std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
>*, _Tp = boost::xpressive::basic_regex<__gnu_cxx::__normal_iterator<const
 char*, std::basic_string<char, std::char_traits<char>,
 std::allocator<char> > > >]'
 /usr/local/lib/gcc/i686-pc-linux-
 gnu/4.4.2/../../../../include/c++/4.4.2/bits/stl_vector.h:313:
 instantiated from 'std::vector<_Tp, _Alloc>::~vector() [with _Tp =
 boost::xpressive::basic_regex<__gnu_cxx::__normal_iterator<const char*,
 std::basic_string<char, std::char_traits<char>, std::allocator<char> > >
>, _Alloc =
 std::allocator<boost::xpressive::basic_regex<__gnu_cxx::__normal_iterator<const
 char*, std::basic_string<char, std::char_traits<char>,
 std::allocator<char> > > > >]'
 /home/segurmatica/console_filter/src/console_filter.cpp:8: instantiated
 from here
 /usr/local/lib/gcc/i686-pc-linux-
 gnu/4.4.2/../../../../include/c++/4.4.2/bits/stl_construct.h:93: error: no
 matching function for call to '_Destroy(const
 boost::proto::exprns_::expr<boost::proto::tag::address_of,
 boost::proto::argsns_::list1<boost::xpressive::basic_regex<__gnu_cxx::__normal_iterator<const
 char*, std::basic_string<char, std::char_traits<char>,
 std::allocator<char> > > >&>, 1l>)'
 gmake[2]: *** [console_filter.o] Error 1
 gmake[2]: Target `all' not remade because of errors.
 gmake[2]: Nothing to be done for `all-am'.
 gmake[1]: *** [all-recursive] Error 1
 gmake: *** [all] Error 2
 *** Exited with status: 2 ***

 I'm using gcc 4.4.2 and boost 1.41

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