2 // { dg-options "-g -O0" }
4 // Copyright (C) 2011-2017 Free Software Foundation, Inc.
6 // This file is part of the GNU ISO C++ Library. This library is free
7 // software; you can redistribute it and/or modify it under the
8 // terms of the GNU General Public License as published by the
9 // Free Software Foundation; either version 3, or (at your option)
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
17 // You should have received a copy of the GNU General Public License along
18 // with this library; see the file COPYING3. If not see
19 // <http://www.gnu.org/licenses/>.
26 #include <debug/vector>
30 C(int& i
) : ref(i
) { }
32 bool operator<(const C
& c
) const { return ref
< c
.ref
; }
42 std::deque
<C
>::iterator diter
= d
.begin();
43 // { dg-final { regexp-test diter {ref = @0x.*} } }
47 std::list
<C
>::iterator liter
= l
.begin();
48 // Need to ensure the list<C>::iterator::_Node typedef is in the debuginfo:
49 int tmp
__attribute__((unused
)) = (*liter
).ref
;
50 // { dg-final { regexp-test liter {ref = @0x.*} } }
52 __gnu_cxx::slist
<C
> sl
;
54 __gnu_cxx::slist
<C
>::iterator sliter
= sl
.begin();
55 // { dg-final { regexp-test sliter {ref = @0x.*} } }
59 std::set
<C
>::iterator siter
= s
.begin();
60 // { dg-final { regexp-test siter {ref = @0x.*} } }
64 std::vector
<C
>::iterator viter
= v
.begin();
65 // { dg-final { regexp-test viter {ref = @0x.*} } }
68 return 0; // Mark SPOT
70 // { dg-final { gdb-test SPOT } }