THIRD TIME. Richard pointed out (again) that I'd switched the order of the instance variables; and thus failed to repair the ABI break. After this, I'm going to sit down and watch TV for the evening.
llvm-svn: 203631
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: b2d74f29f6158dfbc67b5842ce5d73578f3a0f82
diff --git a/include/iterator b/include/iterator
index 263ff3f..f338e01 100644
--- a/include/iterator
+++ b/include/iterator
@@ -536,20 +536,20 @@
typename iterator_traits<_Iter>::pointer,
typename iterator_traits<_Iter>::reference>
{
-protected:
- _Iter current;
private:
mutable _Iter __t; // no longer used as of LWG #2360, not removed due to ABI break
+protected:
+ _Iter current;
public:
typedef _Iter iterator_type;
typedef typename iterator_traits<_Iter>::difference_type difference_type;
typedef typename iterator_traits<_Iter>::reference reference;
typedef typename iterator_traits<_Iter>::pointer pointer;
- _LIBCPP_INLINE_VISIBILITY reverse_iterator() : current(), __t() {}
- _LIBCPP_INLINE_VISIBILITY explicit reverse_iterator(_Iter __x) : current(__x), __t() {}
+ _LIBCPP_INLINE_VISIBILITY reverse_iterator() : current() {}
+ _LIBCPP_INLINE_VISIBILITY explicit reverse_iterator(_Iter __x) : __t(__x), current(__x) {}
template <class _Up> _LIBCPP_INLINE_VISIBILITY reverse_iterator(const reverse_iterator<_Up>& __u)
- : current(__u.base()), __t() {}
+ : __t(__u.base()), current(__u.base()) {}
_LIBCPP_INLINE_VISIBILITY _Iter base() const {return current;}
_LIBCPP_INLINE_VISIBILITY reference operator*() const {_Iter __tmp = current; return *--__tmp;}
_LIBCPP_INLINE_VISIBILITY pointer operator->() const {return _VSTD::addressof(operator*());}