Hi Marshall,

This commit broke the build on Fedora 19 g++ (GCC) 4.8.2 20131017 (Red Hat 4.8.2-1)

I've attached the build failure log. Reverting it fixes the LLVM ToT build with libcxx.

CC'ing in Bill since this has been merged into the 3.4 branch.

Alp.


On 02/12/2013 03:24, Marshall Clow wrote:
Author: marshall
Date: Sun Dec  1 21:24:33 2013
New Revision: 196058

URL: http://llvm.org/viewvc/llvm-project?rev=196058&view=rev
Log:
Fix for PRPR17934; based on a fix suggested by Peter Sommerlad

Modified:
     libcxx/trunk/include/iterator
     libcxx/trunk/test/containers/sequences/array/iterators.pass.cpp
     libcxx/trunk/test/iterators/iterator.range/begin-end.pass.cpp

Modified: libcxx/trunk/include/iterator
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/iterator?rev=196058&r1=196057&r2=196058&view=diff
==============================================================================
--- libcxx/trunk/include/iterator (original)
+++ libcxx/trunk/include/iterator Sun Dec  1 21:24:33 2013
@@ -1387,6 +1387,22 @@ operator+(typename __wrap_iter<_Iter>::d
#if !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_TRAILING_RETURN) +template <class _Tp, size_t _Np>
+inline _LIBCPP_INLINE_VISIBILITY
+_Tp*
+begin(_Tp (&__array)[_Np])
+{
+    return __array;
+}
+
+template <class _Tp, size_t _Np>
+inline _LIBCPP_INLINE_VISIBILITY
+_Tp*
+end(_Tp (&__array)[_Np])
+{
+    return __array + _Np;
+}
+
  template <class _Cp>
  inline _LIBCPP_INLINE_VISIBILITY
  auto
@@ -1421,18 +1437,46 @@ end(const _Cp& __c) -> decltype(__c.end(
#if _LIBCPP_STD_VER > 11 +template <class _Tp, size_t _Np>
+inline _LIBCPP_INLINE_VISIBILITY
+reverse_iterator<_Tp*> rbegin(_Tp (&__array)[_Np])
+{
+    return reverse_iterator<_Tp*>(__array + _Np);
+}
+
+template <class _Tp, size_t _Np>
+inline _LIBCPP_INLINE_VISIBILITY
+reverse_iterator<_Tp*> rend(_Tp (&__array)[_Np])
+{
+    return reverse_iterator<_Tp*>(__array);
+}
+
+template <class _Ep>
+inline _LIBCPP_INLINE_VISIBILITY
+reverse_iterator<const _Ep*> rbegin(initializer_list<_Ep> __il)
+{
+    return reverse_iterator<const _Ep*>(__il.end());
+}
+
+template <class _Ep>
+inline _LIBCPP_INLINE_VISIBILITY
+reverse_iterator<const _Ep*> rend(initializer_list<_Ep> __il)
+{
+    return reverse_iterator<const _Ep*>(__il.begin());
+}
+
  template <class _Cp>
  inline _LIBCPP_INLINE_VISIBILITY
  auto cbegin(const _Cp& __c) -> decltype(begin(__c))
  {
-    return __c.begin();
+    return _VSTD::begin(__c);
  }
template <class _Cp>
  inline _LIBCPP_INLINE_VISIBILITY
  auto cend(const _Cp& __c) -> decltype(end(__c))
  {
-    return __c.end();
+    return _VSTD::end(__c);
  }
template <class _Cp>
@@ -1516,53 +1560,6 @@ end(const _Cp& __c)
#endif // !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_TRAILING_RETURN) -template <class _Tp, size_t _Np>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp*
-begin(_Tp (&__array)[_Np])
-{
-    return __array;
-}
-
-template <class _Tp, size_t _Np>
-inline _LIBCPP_INLINE_VISIBILITY
-_Tp*
-end(_Tp (&__array)[_Np])
-{
-    return __array + _Np;
-}
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp, size_t _Np>
-inline _LIBCPP_INLINE_VISIBILITY
-reverse_iterator<_Tp*> rbegin(_Tp (&__array)[_Np])
-{
-    return reverse_iterator<_Tp*>(__array + _Np);
-}
-
-template <class _Tp, size_t _Np>
-inline _LIBCPP_INLINE_VISIBILITY
-reverse_iterator<_Tp*> rend(_Tp (&__array)[_Np])
-{
-    return reverse_iterator<_Tp*>(__array);
-}
-
-template <class _Ep>
-inline _LIBCPP_INLINE_VISIBILITY
-reverse_iterator<const _Ep*> rbegin(initializer_list<_Ep> __il)
-{
-    return reverse_iterator<const _Ep*>(__il.end());
-}
-
-template <class _Ep>
-inline _LIBCPP_INLINE_VISIBILITY
-reverse_iterator<const _Ep*> rend(initializer_list<_Ep> __il)
-{
-    return reverse_iterator<const _Ep*>(__il.begin());
-}
-
-#endif
-
  _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_ITERATOR

Modified: libcxx/trunk/test/containers/sequences/array/iterators.pass.cpp
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/sequences/array/iterators.pass.cpp?rev=196058&r1=196057&r2=196058&view=diff
==============================================================================
--- libcxx/trunk/test/containers/sequences/array/iterators.pass.cpp (original)
+++ libcxx/trunk/test/containers/sequences/array/iterators.pass.cpp Sun Dec  1 
21:24:33 2013
@@ -50,11 +50,20 @@ int main()
          assert ( !(ii1 != ii2 ));
          assert ( !(ii1 != cii ));
-// C c;
-//         assert ( ii1 != c.cbegin());
-//         assert ( cii != c.begin());
-//         assert ( cii != c.cend());
-//         assert ( ii1 != c.end());
+        C c;
+        assert ( c.begin()   == std::begin(c));
+        assert ( c.cbegin()  == std::cbegin(c));
+        assert ( c.rbegin()  == std::rbegin(c));
+        assert ( c.crbegin() == std::crbegin(c));
+        assert ( c.end()     == std::end(c));
+        assert ( c.cend()    == std::cend(c));
+        assert ( c.rend()    == std::rend(c));
+        assert ( c.crend()   == std::crend(c));
+
+        assert ( std::begin(c)   != std::end(c));
+        assert ( std::rbegin(c)  != std::rend(c));
+        assert ( std::cbegin(c)  != std::cend(c));
+        assert ( std::crbegin(c) != std::crend(c));
          }
          {
          typedef std::array<int, 0> C;
@@ -68,11 +77,20 @@ int main()
          assert ( !(ii1 != ii2 ));
          assert ( !(ii1 != cii ));
-// C c;
-//         assert ( ii1 != c.cbegin());
-//         assert ( cii != c.begin());
-//         assert ( cii != c.cend());
-//         assert ( ii1 != c.end());
+        C c;
+        assert ( c.begin()   == std::begin(c));
+        assert ( c.cbegin()  == std::cbegin(c));
+        assert ( c.rbegin()  == std::rbegin(c));
+        assert ( c.crbegin() == std::crbegin(c));
+        assert ( c.end()     == std::end(c));
+        assert ( c.cend()    == std::cend(c));
+        assert ( c.rend()    == std::rend(c));
+        assert ( c.crend()   == std::crend(c));
+
+        assert ( std::begin(c)   == std::end(c));
+        assert ( std::rbegin(c)  == std::rend(c));
+        assert ( std::cbegin(c)  == std::cend(c));
+        assert ( std::crbegin(c) == std::crend(c));
          }
      }
  #endif

Modified: libcxx/trunk/test/iterators/iterator.range/begin-end.pass.cpp
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/iterators/iterator.range/begin-end.pass.cpp?rev=196058&r1=196057&r2=196058&view=diff
==============================================================================
--- libcxx/trunk/test/iterators/iterator.range/begin-end.pass.cpp (original)
+++ libcxx/trunk/test/iterators/iterator.range/begin-end.pass.cpp Sun Dec  1 
21:24:33 2013
@@ -52,6 +52,7 @@ void test_const_container( const std::in
      assert ( std::end(c)     == c.end());
  #if _LIBCPP_STD_VER > 11
  //  initializer_list doesn't have cbegin/cend/rbegin/rend
+//     but std::cbegin(),etc work (b/c they're general fn templates)
  //     assert ( std::cbegin(c)  == c.cbegin());
  //     assert ( std::cbegin(c)  != c.cend());
  //     assert ( std::cend(c)    == c.cend());


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

--
http://www.nuanti.com
the browser experts

[1/4] Building CXX object 
projects/libcxx/lib/CMakeFiles/cxx.dir/__/src/regex.cpp.o
FAILED: /usr/lib64/ccache/g++   -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS 
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Dcxx_EXPORTS -fPIC 
-fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings 
-Wno-missing-field-initializers -pedantic -Wno-long-long 
-Wno-maybe-uninitialized -Wnon-virtual-dtor -Os  -fPIC -Iprojects/libcxx/lib 
-I/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/lib -Iinclude 
-I/home/alp/Projects/llvm-work/upstream/llvm/include 
-I/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include    
-UNDEBUG -nostdinc++ -std=c++0x -Wall -W -Wno-unused-parameter -Wwrite-strings 
-Wno-long-long -Wno-error -pedantic -fPIC -MMD -MT 
projects/libcxx/lib/CMakeFiles/cxx.dir/__/src/regex.cpp.o -MF 
"projects/libcxx/lib/CMakeFiles/cxx.dir/__/src/regex.cpp.o.d" -o 
projects/libcxx/lib/CMakeFiles/cxx.dir/__/src/regex.cpp.o -c 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:72:0: 
warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
 #pragma clang diagnostic push
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:73:0: 
warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
 #pragma clang diagnostic ignored "-Wpadded"
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:81:0: 
warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
 #pragma clang diagnostic pop
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:198:0: 
warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
 #pragma clang diagnostic push
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:199:0: 
warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
 #pragma clang diagnostic ignored "-Wpadded"
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:207:0: 
warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
 #pragma clang diagnostic pop
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp: In 
function ‘std::__1::string std::__1::__get_collation_name(const char*)’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:242:53:
 error: no matching function for call to ‘begin(const 
std::__1::{anonymous}::collationnames [111])’
             _VSTD::lower_bound(begin(collatenames), end(collatenames), s, 
use_strcmp());
                                                     ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:242:53:
 note: candidates are:
In file included from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/memory:600:0,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/algorithm:627,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/string:439,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/__locale:15,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/regex:726,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:10:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1532:1:
 note: template<class _Cp> typename _Cp::iterator std::__1::begin(_Cp&)
 begin(_Cp& __c)
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1532:1:
 note:   template argument deduction/substitution failed:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator: In 
substitution of ‘template<class _Cp> typename _Cp::iterator 
std::__1::begin(_Cp&) [with _Cp = const std::__1::{anonymous}::collationnames 
[111]]’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:242:53:
   required from here
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1532:1:
 error: ‘const std::__1::{anonymous}::collationnames [111]’ is not a class, 
struct, or union type
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1540:1:
 note: template<class _Cp> typename _Cp::const_iterator std::__1::begin(const 
_Cp&)
 begin(const _Cp& __c)
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1540:1:
 note:   template argument deduction/substitution failed:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator: In 
substitution of ‘template<class _Cp> typename _Cp::const_iterator 
std::__1::begin(const _Cp&) [with _Cp = std::__1::{anonymous}::collationnames 
[111]]’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:242:53:
   required from here
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1540:1:
 error: ‘std::__1::{anonymous}::collationnames [111]’ is not a class, struct, 
or union type
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:242:72:
 error: no matching function for call to ‘end(const 
std::__1::{anonymous}::collationnames [111])’
             _VSTD::lower_bound(begin(collatenames), end(collatenames), s, 
use_strcmp());
                                                                        ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:242:72:
 note: candidates are:
In file included from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/memory:600:0,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/algorithm:627,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/string:439,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/__locale:15,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/regex:726,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:10:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1548:1:
 note: template<class _Cp> typename _Cp::iterator std::__1::end(_Cp&)
 end(_Cp& __c)
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1548:1:
 note:   template argument deduction/substitution failed:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator: In 
substitution of ‘template<class _Cp> typename _Cp::iterator std::__1::end(_Cp&) 
[with _Cp = const std::__1::{anonymous}::collationnames [111]]’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:242:72:
   required from here
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1548:1:
 error: ‘const std::__1::{anonymous}::collationnames [111]’ is not a class, 
struct, or union type
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1556:1:
 note: template<class _Cp> typename _Cp::const_iterator std::__1::end(const 
_Cp&)
 end(const _Cp& __c)
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1556:1:
 note:   template argument deduction/substitution failed:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator: In 
substitution of ‘template<class _Cp> typename _Cp::const_iterator 
std::__1::end(const _Cp&) [with _Cp = std::__1::{anonymous}::collationnames 
[111]]’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:242:72:
   required from here
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1556:1:
 error: ‘std::__1::{anonymous}::collationnames [111]’ is not a class, struct, 
or union type
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:244:30:
 error: no matching function for call to ‘end(const 
std::__1::{anonymous}::collationnames [111])’
     if (i != end(collatenames) && strcmp(s, i->elem_) == 0)
                              ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:244:30:
 note: candidates are:
In file included from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/memory:600:0,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/algorithm:627,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/string:439,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/__locale:15,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/regex:726,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:10:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1548:1:
 note: template<class _Cp> typename _Cp::iterator std::__1::end(_Cp&)
 end(_Cp& __c)
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1548:1:
 note:   template argument deduction/substitution failed:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator: In 
substitution of ‘template<class _Cp> typename _Cp::iterator std::__1::end(_Cp&) 
[with _Cp = const std::__1::{anonymous}::collationnames [111]]’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:244:30:
   required from here
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1548:1:
 error: ‘const std::__1::{anonymous}::collationnames [111]’ is not a class, 
struct, or union type
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1556:1:
 note: template<class _Cp> typename _Cp::const_iterator std::__1::end(const 
_Cp&)
 end(const _Cp& __c)
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1556:1:
 note:   template argument deduction/substitution failed:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator: In 
substitution of ‘template<class _Cp> typename _Cp::const_iterator 
std::__1::end(const _Cp&) [with _Cp = std::__1::{anonymous}::collationnames 
[111]]’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:244:30:
   required from here
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1556:1:
 error: ‘std::__1::{anonymous}::collationnames [111]’ is not a class, struct, 
or union type
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp: In 
function ‘std::__1::ctype_base::mask std::__1::__get_classname(const char*, 
bool)’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:253:51:
 error: no matching function for call to ‘begin(const 
std::__1::{anonymous}::classnames [15])’
             _VSTD::lower_bound(begin(ClassNames), end(ClassNames), s, 
use_strcmp());
                                                   ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:253:51:
 note: candidates are:
In file included from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/memory:600:0,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/algorithm:627,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/string:439,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/__locale:15,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/regex:726,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:10:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1532:1:
 note: template<class _Cp> typename _Cp::iterator std::__1::begin(_Cp&)
 begin(_Cp& __c)
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1532:1:
 note:   template argument deduction/substitution failed:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator: In 
substitution of ‘template<class _Cp> typename _Cp::iterator 
std::__1::begin(_Cp&) [with _Cp = const std::__1::{anonymous}::classnames 
[15]]’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:253:51:
   required from here
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1532:1:
 error: ‘const std::__1::{anonymous}::classnames [15]’ is not a class, struct, 
or union type
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1540:1:
 note: template<class _Cp> typename _Cp::const_iterator std::__1::begin(const 
_Cp&)
 begin(const _Cp& __c)
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1540:1:
 note:   template argument deduction/substitution failed:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator: In 
substitution of ‘template<class _Cp> typename _Cp::const_iterator 
std::__1::begin(const _Cp&) [with _Cp = std::__1::{anonymous}::classnames 
[15]]’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:253:51:
   required from here
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1540:1:
 error: ‘std::__1::{anonymous}::classnames [15]’ is not a class, struct, or 
union type
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:253:68:
 error: no matching function for call to ‘end(const 
std::__1::{anonymous}::classnames [15])’
             _VSTD::lower_bound(begin(ClassNames), end(ClassNames), s, 
use_strcmp());
                                                                    ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:253:68:
 note: candidates are:
In file included from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/memory:600:0,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/algorithm:627,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/string:439,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/__locale:15,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/regex:726,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:10:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1548:1:
 note: template<class _Cp> typename _Cp::iterator std::__1::end(_Cp&)
 end(_Cp& __c)
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1548:1:
 note:   template argument deduction/substitution failed:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator: In 
substitution of ‘template<class _Cp> typename _Cp::iterator std::__1::end(_Cp&) 
[with _Cp = const std::__1::{anonymous}::classnames [15]]’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:253:68:
   required from here
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1548:1:
 error: ‘const std::__1::{anonymous}::classnames [15]’ is not a class, struct, 
or union type
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1556:1:
 note: template<class _Cp> typename _Cp::const_iterator std::__1::end(const 
_Cp&)
 end(const _Cp& __c)
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1556:1:
 note:   template argument deduction/substitution failed:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator: In 
substitution of ‘template<class _Cp> typename _Cp::const_iterator 
std::__1::end(const _Cp&) [with _Cp = std::__1::{anonymous}::classnames [15]]’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:253:68:
   required from here
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1556:1:
 error: ‘std::__1::{anonymous}::classnames [15]’ is not a class, struct, or 
union type
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:255:28:
 error: no matching function for call to ‘end(const 
std::__1::{anonymous}::classnames [15])’
     if (i != end(ClassNames) && strcmp(s, i->elem_) == 0)
                            ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:255:28:
 note: candidates are:
In file included from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/memory:600:0,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/algorithm:627,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/string:439,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/__locale:15,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/regex:726,
                 from 
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:10:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1548:1:
 note: template<class _Cp> typename _Cp::iterator std::__1::end(_Cp&)
 end(_Cp& __c)
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1548:1:
 note:   template argument deduction/substitution failed:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator: In 
substitution of ‘template<class _Cp> typename _Cp::iterator std::__1::end(_Cp&) 
[with _Cp = const std::__1::{anonymous}::classnames [15]]’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:255:28:
   required from here
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1548:1:
 error: ‘const std::__1::{anonymous}::classnames [15]’ is not a class, struct, 
or union type
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1556:1:
 note: template<class _Cp> typename _Cp::const_iterator std::__1::end(const 
_Cp&)
 end(const _Cp& __c)
 ^
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1556:1:
 note:   template argument deduction/substitution failed:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator: In 
substitution of ‘template<class _Cp> typename _Cp::const_iterator 
std::__1::end(const _Cp&) [with _Cp = std::__1::{anonymous}::classnames [15]]’:
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/src/regex.cpp:255:28:
   required from here
/home/alp/Projects/llvm-work/upstream/llvm/projects/libcxx/include/iterator:1556:1:
 error: ‘std::__1::{anonymous}::classnames [15]’ is not a class, struct, or 
union type

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to