Subject: [Boost-bugs] [Boost C++ Libraries] #7872: sregex::compile fails to compile with clang+libc++
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-01-09 21:50:19
#7872: sregex::compile fails to compile with clang+libc++
---------------------------------------------+------------------------------
Reporter: Thomas Goyne <tgoyne@â¦> | Owner: eric_niebler
Type: Bugs | Status: new
Milestone: To Be Determined | Component: xpressive
Version: Boost 1.52.0 | Severity: Problem
Keywords: |
---------------------------------------------+------------------------------
Given a basic test program:
{{{
#include <boost/xpressive/xpressive.hpp>
int main() {
boost::xpressive::sregex::compile("x");
}
}}}
This compiles with no errors when using libstdc++ (with clang++ -std=c++11
-Weverything test.cpp). However, switching to libc++ gives the following
result:
{{{
$ clang++ --version
[2s]
Apple clang version 4.1 (tags/Apple/clang-421.11.65) (based on LLVM
3.1svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix
$ clang++ -std=c++11 -Weverything -stdlib=libc++ test.cpp
In file included from test.cpp:1:
In file included from /usr/local/include/boost/xpressive/xpressive.hpp:18:
In file included from
/usr/local/include/boost/xpressive/xpressive_static.hpp:24:
In file included from
/usr/local/include/boost/xpressive/regex_primitives.hpp:12:
In file included from /usr/bin/../lib/c++/v1/vector:261:
In file included from /usr/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/bin/../lib/c++/v1/algorithm:591:
/usr/bin/../lib/c++/v1/type_traits:2455:67: error: no member named 'value'
in
'std::__1::is_constructible<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>>, boost::xpressive::basic_regex<std::__1::__wrap_iter<const char
*>> &>'
: __is_nothrow_constructible<is_constructible<_Tp, _Args...>::value,
_Tp, _Args...>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
/usr/bin/../lib/c++/v1/type_traits:2583:14: note: in instantiation of
template class
'std::__1::is_nothrow_constructible<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>>, boost::xpressive::basic_regex<std::__1::__wrap_iter<const char
*>> &>' requested here
: public is_nothrow_constructible<_Tp, const typename
add_lvalue_reference<_Tp>::type>
^
/usr/bin/../lib/c++/v1/utility:241:20: note: in instantiation of template
class
'std::__1::is_nothrow_copy_constructible<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>>>' requested here
is_nothrow_copy_constructible<second_type>::value)
^
/usr/bin/../lib/c++/v1/__config:253:34: note: expanded from macro
'_NOEXCEPT_'
# define _NOEXCEPT_(x) noexcept(x)
^
/usr/bin/../lib/c++/v1/__tree:602:16: note: in instantiation of template
class 'std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>'
requested here
value_type __value_;
^
/usr/bin/../lib/c++/v1/type_traits:1889:54: note: in instantiation of
template class
'std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>, void
*>' requested here
decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...)), true_type())
^
/usr/bin/../lib/c++/v1/type_traits:1890:1: note: while substituting
deduced template arguments into function template
'__is_constructible_test' [with _Tp =
std::__1::allocator<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>, void
*>>, _Args = <no value>]
__is_constructible_test(_Tp&&, _Args&& ...);
^
/usr/bin/../lib/c++/v1/type_traits:1949:14: note: (skipping 6 contexts in
backtrace; use -ftemplate-backtrace-limit=0 to see all)
: public __is_constructible<is_scalar<_Tp>::value ||
is_reference<_Tp>::value,
^
/usr/bin/../lib/c++/v1/__tree:813:56: note: in instantiation of template
class
'std::__1::__compressed_pair<std::__1::__tree_end_node<std::__1::__tree_node_base<void
*> *>,
std::__1::allocator<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>, void
*>>>' requested here
__compressed_pair<__end_node_t, __node_allocator> __pair1_;
^
/usr/bin/../lib/c++/v1/map:711:22: note: in instantiation of template
class 'std::__1::__tree<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>,
std::__1::__map_value_compare<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>,
std::__1::less<std::__1::basic_string<char>>, true>,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>>'
requested here
typedef typename __base::__node_traits __node_traits;
^
/usr/local/include/boost/xpressive/regex_compiler.hpp:739:51: note: in
instantiation of template class
'std::__1::map<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>,
std::__1::less<std::__1::basic_string<char>>,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>>'
requested here
std::map<string_type, basic_regex<BidiIter> > rules_;
^
/usr/local/include/boost/xpressive/basic_regex.hpp:200:16: note: in
instantiation of template class
'boost::xpressive::regex_compiler<std::__1::__wrap_iter<const char *>,
boost::xpressive::regex_traits<char,
boost::xpressive::cpp_regex_traits<char>>,
boost::xpressive::compiler_traits<boost::xpressive::regex_traits<char,
boost::xpressive::cpp_regex_traits<char>>>>' requested here
return regex_compiler<BidiIter>().compile(begin, flags);
^
test.cpp:3:3: note: in instantiation of member function
'boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>
>::compile' requested here
boost::xpressive::sregex::compile("x");
^
In file included from test.cpp:1:
In file included from /usr/local/include/boost/xpressive/xpressive.hpp:18:
In file included from
/usr/local/include/boost/xpressive/xpressive_static.hpp:24:
In file included from
/usr/local/include/boost/xpressive/regex_primitives.hpp:12:
In file included from /usr/bin/../lib/c++/v1/vector:261:
In file included from /usr/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/bin/../lib/c++/v1/algorithm:591:
/usr/bin/../lib/c++/v1/type_traits:2616:64: error: no member named 'value'
in
'std::__1::is_assignable<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>> &, boost::xpressive::basic_regex<std::__1::__wrap_iter<const char
*>> &>'
: public __is_nothrow_assignable<is_assignable<_Tp, _Arg>::value, _Tp,
_Arg>
~~~~~~~~~~~~~~~~~~~~~~~~~~^
/usr/bin/../lib/c++/v1/type_traits:2667:14: note: in instantiation of
template class
'std::__1::is_nothrow_assignable<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>> &, boost::xpressive::basic_regex<std::__1::__wrap_iter<const char
*>> &>' requested here
: public is_nothrow_assignable<typename
add_lvalue_reference<_Tp>::type,
^
/usr/bin/../lib/c++/v1/utility:250:20: note: in instantiation of template
class
'std::__1::is_nothrow_copy_assignable<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>>>' requested here
is_nothrow_copy_assignable<second_type>::value)
^
/usr/bin/../lib/c++/v1/__config:253:34: note: expanded from macro
'_NOEXCEPT_'
# define _NOEXCEPT_(x) noexcept(x)
^
/usr/bin/../lib/c++/v1/__tree:602:16: note: in instantiation of template
class 'std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>'
requested here
value_type __value_;
^
/usr/bin/../lib/c++/v1/type_traits:1889:54: note: in instantiation of
template class
'std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>, void
*>' requested here
decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...)), true_type())
^
/usr/bin/../lib/c++/v1/type_traits:1890:1: note: while substituting
deduced template arguments into function template
'__is_constructible_test' [with _Tp =
std::__1::allocator<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>, void
*>>, _Args = <no value>]
__is_constructible_test(_Tp&&, _Args&& ...);
^
/usr/bin/../lib/c++/v1/type_traits:1949:14: note: (skipping 6 contexts in
backtrace; use -ftemplate-backtrace-limit=0 to see all)
: public __is_constructible<is_scalar<_Tp>::value ||
is_reference<_Tp>::value,
^
/usr/bin/../lib/c++/v1/__tree:813:56: note: in instantiation of template
class
'std::__1::__compressed_pair<std::__1::__tree_end_node<std::__1::__tree_node_base<void
*> *>,
std::__1::allocator<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>, void
*>>>' requested here
__compressed_pair<__end_node_t, __node_allocator> __pair1_;
^
/usr/bin/../lib/c++/v1/map:711:22: note: in instantiation of template
class 'std::__1::__tree<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>,
std::__1::__map_value_compare<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>,
std::__1::less<std::__1::basic_string<char>>, true>,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>>'
requested here
typedef typename __base::__node_traits __node_traits;
^
/usr/local/include/boost/xpressive/regex_compiler.hpp:739:51: note: in
instantiation of template class
'std::__1::map<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>,
std::__1::less<std::__1::basic_string<char>>,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>>'
requested here
std::map<string_type, basic_regex<BidiIter> > rules_;
^
/usr/local/include/boost/xpressive/basic_regex.hpp:200:16: note: in
instantiation of template class
'boost::xpressive::regex_compiler<std::__1::__wrap_iter<const char *>,
boost::xpressive::regex_traits<char,
boost::xpressive::cpp_regex_traits<char>>,
boost::xpressive::compiler_traits<boost::xpressive::regex_traits<char,
boost::xpressive::cpp_regex_traits<char>>>>' requested here
return regex_compiler<BidiIter>().compile(begin, flags);
^
test.cpp:3:3: note: in instantiation of member function
'boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>
>::compile' requested here
boost::xpressive::sregex::compile("x");
^
In file included from test.cpp:1:
In file included from /usr/local/include/boost/xpressive/xpressive.hpp:18:
In file included from
/usr/local/include/boost/xpressive/xpressive_static.hpp:24:
In file included from
/usr/local/include/boost/xpressive/regex_primitives.hpp:12:
In file included from /usr/bin/../lib/c++/v1/vector:261:
In file included from /usr/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/bin/../lib/c++/v1/algorithm:591:
/usr/bin/../lib/c++/v1/type_traits:2455:67: error: no member named 'value'
in
'std::__1::is_constructible<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>>, boost::xpressive::basic_regex<std::__1::__wrap_iter<const char
*>> &&>'
: __is_nothrow_constructible<is_constructible<_Tp, _Args...>::value,
_Tp, _Args...>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
/usr/bin/../lib/c++/v1/type_traits:2590:14: note: in instantiation of
template class
'std::__1::is_nothrow_constructible<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>>, boost::xpressive::basic_regex<std::__1::__wrap_iter<const char
*>> &&>' requested here
: public is_nothrow_constructible<_Tp, typename
add_rvalue_reference<_Tp>::type>
^
/usr/bin/../lib/c++/v1/utility:278:33: note: in instantiation of template
class
'std::__1::is_nothrow_move_constructible<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>>>' requested here
is_nothrow_move_constructible<second_type>::value)
^
/usr/bin/../lib/c++/v1/__config:253:34: note: expanded from macro
'_NOEXCEPT_'
# define _NOEXCEPT_(x) noexcept(x)
^
/usr/bin/../lib/c++/v1/__tree:602:16: note: in instantiation of template
class 'std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>'
requested here
value_type __value_;
^
/usr/bin/../lib/c++/v1/type_traits:1889:54: note: in instantiation of
template class
'std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>, void
*>' requested here
decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...)), true_type())
^
/usr/bin/../lib/c++/v1/type_traits:1890:1: note: while substituting
deduced template arguments into function template
'__is_constructible_test' [with _Tp =
std::__1::allocator<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>, void
*>>, _Args = <no value>]
__is_constructible_test(_Tp&&, _Args&& ...);
^
/usr/bin/../lib/c++/v1/type_traits:1949:14: note: (skipping 6 contexts in
backtrace; use -ftemplate-backtrace-limit=0 to see all)
: public __is_constructible<is_scalar<_Tp>::value ||
is_reference<_Tp>::value,
^
/usr/bin/../lib/c++/v1/__tree:813:56: note: in instantiation of template
class
'std::__1::__compressed_pair<std::__1::__tree_end_node<std::__1::__tree_node_base<void
*> *>,
std::__1::allocator<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>, void
*>>>' requested here
__compressed_pair<__end_node_t, __node_allocator> __pair1_;
^
/usr/bin/../lib/c++/v1/map:711:22: note: in instantiation of template
class 'std::__1::__tree<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>,
std::__1::__map_value_compare<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>,
std::__1::less<std::__1::basic_string<char>>, true>,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>>'
requested here
typedef typename __base::__node_traits __node_traits;
^
/usr/local/include/boost/xpressive/regex_compiler.hpp:739:51: note: in
instantiation of template class
'std::__1::map<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>,
std::__1::less<std::__1::basic_string<char>>,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>>'
requested here
std::map<string_type, basic_regex<BidiIter> > rules_;
^
/usr/local/include/boost/xpressive/basic_regex.hpp:200:16: note: in
instantiation of template class
'boost::xpressive::regex_compiler<std::__1::__wrap_iter<const char *>,
boost::xpressive::regex_traits<char,
boost::xpressive::cpp_regex_traits<char>>,
boost::xpressive::compiler_traits<boost::xpressive::regex_traits<char,
boost::xpressive::cpp_regex_traits<char>>>>' requested here
return regex_compiler<BidiIter>().compile(begin, flags);
^
test.cpp:3:3: note: in instantiation of member function
'boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>
>::compile' requested here
boost::xpressive::sregex::compile("x");
^
In file included from test.cpp:1:
In file included from /usr/local/include/boost/xpressive/xpressive.hpp:18:
In file included from
/usr/local/include/boost/xpressive/xpressive_static.hpp:24:
In file included from
/usr/local/include/boost/xpressive/regex_primitives.hpp:12:
In file included from /usr/bin/../lib/c++/v1/vector:261:
In file included from /usr/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/bin/../lib/c++/v1/algorithm:591:
/usr/bin/../lib/c++/v1/type_traits:2616:64: error: no member named 'value'
in
'std::__1::is_assignable<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>> &, boost::xpressive::basic_regex<std::__1::__wrap_iter<const char
*>> &&>'
: public __is_nothrow_assignable<is_assignable<_Tp, _Arg>::value, _Tp,
_Arg>
~~~~~~~~~~~~~~~~~~~~~~~~~~^
/usr/bin/../lib/c++/v1/type_traits:2674:14: note: in instantiation of
template class
'std::__1::is_nothrow_assignable<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>> &, boost::xpressive::basic_regex<std::__1::__wrap_iter<const char
*>> &&>' requested here
: public is_nothrow_assignable<typename
add_lvalue_reference<_Tp>::type,
^
/usr/bin/../lib/c++/v1/utility:287:38: note: in instantiation of template
class
'std::__1::is_nothrow_move_assignable<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>>>' requested here
is_nothrow_move_assignable<second_type>::value)
^
/usr/bin/../lib/c++/v1/__config:253:34: note: expanded from macro
'_NOEXCEPT_'
# define _NOEXCEPT_(x) noexcept(x)
^
/usr/bin/../lib/c++/v1/__tree:602:16: note: in instantiation of template
class 'std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>'
requested here
value_type __value_;
^
/usr/bin/../lib/c++/v1/type_traits:1889:54: note: in instantiation of
template class
'std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>, void
*>' requested here
decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...)), true_type())
^
/usr/bin/../lib/c++/v1/type_traits:1890:1: note: while substituting
deduced template arguments into function template
'__is_constructible_test' [with _Tp =
std::__1::allocator<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>, void
*>>, _Args = <no value>]
__is_constructible_test(_Tp&&, _Args&& ...);
^
/usr/bin/../lib/c++/v1/type_traits:1949:14: note: (skipping 6 contexts in
backtrace; use -ftemplate-backtrace-limit=0 to see all)
: public __is_constructible<is_scalar<_Tp>::value ||
is_reference<_Tp>::value,
^
/usr/bin/../lib/c++/v1/__tree:813:56: note: in instantiation of template
class
'std::__1::__compressed_pair<std::__1::__tree_end_node<std::__1::__tree_node_base<void
*> *>,
std::__1::allocator<std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>, void
*>>>' requested here
__compressed_pair<__end_node_t, __node_allocator> __pair1_;
^
/usr/bin/../lib/c++/v1/map:711:22: note: in instantiation of template
class 'std::__1::__tree<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>,
std::__1::__map_value_compare<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>,
std::__1::less<std::__1::basic_string<char>>, true>,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>>'
requested here
typedef typename __base::__node_traits __node_traits;
^
/usr/local/include/boost/xpressive/regex_compiler.hpp:739:51: note: in
instantiation of template class
'std::__1::map<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>,
std::__1::less<std::__1::basic_string<char>>,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>>'
requested here
std::map<string_type, basic_regex<BidiIter> > rules_;
^
/usr/local/include/boost/xpressive/basic_regex.hpp:200:16: note: in
instantiation of template class
'boost::xpressive::regex_compiler<std::__1::__wrap_iter<const char *>,
boost::xpressive::regex_traits<char,
boost::xpressive::cpp_regex_traits<char>>,
boost::xpressive::compiler_traits<boost::xpressive::regex_traits<char,
boost::xpressive::cpp_regex_traits<char>>>>' requested here
return regex_compiler<BidiIter>().compile(begin, flags);
^
test.cpp:3:3: note: in instantiation of member function
'boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>
>::compile' requested here
boost::xpressive::sregex::compile("x");
^
In file included from test.cpp:1:
In file included from /usr/local/include/boost/xpressive/xpressive.hpp:18:
In file included from
/usr/local/include/boost/xpressive/xpressive_static.hpp:24:
In file included from
/usr/local/include/boost/xpressive/regex_primitives.hpp:12:
In file included from /usr/bin/../lib/c++/v1/vector:261:
In file included from /usr/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/bin/../lib/c++/v1/algorithm:593:
/usr/bin/../lib/c++/v1/utility:241:64: error: no member named 'value' in
'std::__1::is_nothrow_copy_constructible<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>>>'
is_nothrow_copy_constructible<second_type>::value)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/c++/v1/__config:253:34: note: expanded from macro
'_NOEXCEPT_'
# define _NOEXCEPT_(x) noexcept(x)
^
/usr/bin/../lib/c++/v1/type_traits:1889:54: note: in instantiation of
template class 'std::__1::pair<const std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>'
requested here
decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...)), true_type())
^
/usr/bin/../lib/c++/v1/type_traits:1890:1: note: while substituting
deduced template arguments into function template
'__is_constructible_test' [with _Tp =
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>,
_Args = <no value>]
__is_constructible_test(_Tp&&, _Args&& ...);
^
/usr/bin/../lib/c++/v1/type_traits:1949:14: note: in instantiation of
template class 'std::__1::__is_constructible<false,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>, >'
requested here
: public __is_constructible<is_scalar<_Tp>::value ||
is_reference<_Tp>::value,
^
/usr/bin/../lib/c++/v1/type_traits:1975:14: note: in instantiation of
template class 'std::__1::__is_constructible_void_check<false,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>, >'
requested here
: public __is_constructible_void_check<__contains_void<_Tp,
_Args...>::value
^
/usr/bin/../lib/c++/v1/type_traits:2455:34: note: in instantiation of
template class
'std::__1::is_constructible<std::__1::allocator<std::__1::pair<const
std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>, >'
requested here
: __is_nothrow_constructible<is_constructible<_Tp, _Args...>::value,
_Tp, _Args...>
^
/usr/bin/../lib/c++/v1/type_traits:2577:14: note: in instantiation of
template class
'std::__1::is_nothrow_constructible<std::__1::allocator<std::__1::pair<const
std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>, >'
requested here
: public is_nothrow_constructible<_Tp>
^
/usr/bin/../lib/c++/v1/map:729:13: note: in instantiation of template
class
'std::__1::is_nothrow_default_constructible<std::__1::allocator<std::__1::pair<const
std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>>'
requested here
is_nothrow_default_constructible<allocator_type>::value &&
^
/usr/bin/../lib/c++/v1/__config:253:34: note: expanded from macro
'_NOEXCEPT_'
# define _NOEXCEPT_(x) noexcept(x)
^
/usr/local/include/boost/xpressive/regex_compiler.hpp:739:51: note: in
instantiation of template class
'std::__1::map<std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>,
std::__1::less<std::__1::basic_string<char>>,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>,
boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>>>>>'
requested here
std::map<string_type, basic_regex<BidiIter> > rules_;
^
/usr/local/include/boost/xpressive/basic_regex.hpp:200:16: note: in
instantiation of template class
'boost::xpressive::regex_compiler<std::__1::__wrap_iter<const char *>,
boost::xpressive::regex_traits<char,
boost::xpressive::cpp_regex_traits<char>>,
boost::xpressive::compiler_traits<boost::xpressive::regex_traits<char,
boost::xpressive::cpp_regex_traits<char>>>>' requested here
return regex_compiler<BidiIter>().compile(begin, flags);
^
test.cpp:3:3: note: in instantiation of member function
'boost::xpressive::basic_regex<std::__1::__wrap_iter<const char *>
>::compile' requested here
boost::xpressive::sregex::compile("x");
^
In file included from test.cpp:1:
In file included from /usr/local/include/boost/xpressive/xpressive.hpp:18:
In file included from
/usr/local/include/boost/xpressive/xpressive_static.hpp:24:
In file included from
/usr/local/include/boost/xpressive/regex_primitives.hpp:12:
In file included from /usr/bin/../lib/c++/v1/vector:261:
In file included from /usr/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/bin/../lib/c++/v1/algorithm:593:
/usr/bin/../lib/c++/v1/utility:250:61: error: no member named 'value' in
'std::__1::is_nothrow_copy_assignable<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>>>'
is_nothrow_copy_assignable<second_type>::value)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/c++/v1/__config:253:34: note: expanded from macro
'_NOEXCEPT_'
# define _NOEXCEPT_(x) noexcept(x)
^
In file included from test.cpp:1:
In file included from /usr/local/include/boost/xpressive/xpressive.hpp:18:
In file included from
/usr/local/include/boost/xpressive/xpressive_static.hpp:24:
In file included from
/usr/local/include/boost/xpressive/regex_primitives.hpp:12:
In file included from /usr/bin/../lib/c++/v1/vector:261:
In file included from /usr/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/bin/../lib/c++/v1/algorithm:593:
/usr/bin/../lib/c++/v1/utility:278:77: error: no member named 'value' in
'std::__1::is_nothrow_move_constructible<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>>>'
is_nothrow_move_constructible<second_type>::value)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/c++/v1/__config:253:34: note: expanded from macro
'_NOEXCEPT_'
# define _NOEXCEPT_(x) noexcept(x)
^
In file included from test.cpp:1:
In file included from /usr/local/include/boost/xpressive/xpressive.hpp:18:
In file included from
/usr/local/include/boost/xpressive/xpressive_static.hpp:24:
In file included from
/usr/local/include/boost/xpressive/regex_primitives.hpp:12:
In file included from /usr/bin/../lib/c++/v1/vector:261:
In file included from /usr/bin/../lib/c++/v1/__bit_reference:15:
In file included from /usr/bin/../lib/c++/v1/algorithm:593:
/usr/bin/../lib/c++/v1/utility:287:79: error: no member named 'value' in
'std::__1::is_nothrow_move_assignable<boost::xpressive::basic_regex<std::__1::__wrap_iter<const
char *>>>'
is_nothrow_move_assignable<second_type>::value)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/usr/bin/../lib/c++/v1/__config:253:34: note: expanded from macro
'_NOEXCEPT_'
# define _NOEXCEPT_(x) noexcept(x)
^
8 errors generated.
}}}_Tp, _Args...
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/7872> 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:11 UTC