Author: marshall
Date: Thu Mar  5 10:07:37 2015
New Revision: 231375

URL: http://llvm.org/viewvc/llvm-project?rev=231375&view=rev
Log:
Rework reverse_iterator::operator[] so as not to use the base iterators 
operator [], which can cause constness problems. Fixes PR17883

Modified:
    libcxx/trunk/include/iterator

Modified: libcxx/trunk/include/iterator
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/iterator?rev=231375&r1=231374&r2=231375&view=diff
==============================================================================
--- libcxx/trunk/include/iterator (original)
+++ libcxx/trunk/include/iterator Thu Mar  5 10:07:37 2015
@@ -575,7 +575,7 @@ public:
     _LIBCPP_INLINE_VISIBILITY reverse_iterator& operator-=(difference_type __n)
         {current += __n; return *this;}
     _LIBCPP_INLINE_VISIBILITY reference         operator[](difference_type 
__n) const
-        {return current[-__n-1];}
+        {return *(*this + __n);}
 };
 
 template <class _Iter1, class _Iter2>


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

Reply via email to