blob: d4c8f77fe89e0b6fb19f730bfe2bc99462347a7c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
// { dg-do compile }
// { dg-options "-fgnu-tm -O3" }
template<typename _InputIterator, typename _Distance> inline void advance(_InputIterator& __i, _Distance __n)
{
if (__n > 0)
while (__n--)
--__i;
else
--__i;
}
void _Rb_tree_increment ();
template<typename _Tp> struct _Rb_tree_iterator
{
typedef _Rb_tree_iterator<_Tp> iterator;
iterator& operator--()
{
_Rb_tree_increment();
}
};
void update ()
{
_Rb_tree_iterator<int>::iterator it;
__transaction_relaxed
{
advance (it, 0);
}
}
|