From 5a8e27b5b325198cd04c5ea74db1c00de6244456 Mon Sep 17 00:00:00 2001 From: Marshall Clow Date: Wed, 12 Mar 2014 01:19:36 +0000 Subject: [PATCH] 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. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203631 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/iterator | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/iterator b/include/iterator index 263ff3f51..f338e018d 100644 --- a/include/iterator +++ b/include/iterator @@ -536,20 +536,20 @@ class _LIBCPP_TYPE_VIS_ONLY reverse_iterator 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 _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*());}