2 /* { dg-options "-std=c++0x -fno-tree-forwprop" } */
4 typedef __SIZE_TYPE__ size_t;
6 template < typename > struct remove_reference;
7 template < typename _Tp > struct remove_reference <_Tp & >
11 template < typename _Tp > typename remove_reference < _Tp >::type &&
14 return static_cast < typename remove_reference < _Tp >::type && >(__t);
17 template < typename _Tp > void
18 stdswap (_Tp & __a, _Tp & __b)
25 struct _Deque_iterator
33 static inline int operatorMIN (_Deque_iterator & __x, _Deque_iterator & __y)
35 return sizeof (int) * (__x._M_node - __y._M_node - 1)
36 + (__x._M_cur - __x._M_first) + (__y._M_last - __y._M_cur);
41 deque & operator = (deque && __x)
43 stdswap (_M_finish, __x._M_finish);
48 return operatorMIN (_M_finish, _M_start);
52 _M_map (), _M_map_size (), _M_start (), _M_finish ()
54 _M_start._M_last = _M_start._M_first + sizeof (int);
59 _Deque_iterator _M_start;
60 _Deque_iterator _M_finish;
76 ++a.c._M_finish._M_cur;