1 // { dg-options "-std=gnu++17 -g -O0 -Wno-unused" }
2 // { dg-do run { target c++17 } }
3 
4 // Copyright (C) 2019 Free Software Foundation, Inc.
5 //
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)
10 // any later version.
11 
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.
16 
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/>.
20 
21 #include <forward_list>
22 #include <list>
23 #include <set>
24 #include <map>
25 #include <string>
26 #include <any>
27 #include <iostream>
28 
main()29 int main()
30 {
31   std::list<std::string> list{"a"};
32   std::list<std::string>::iterator lit = list.begin();
33   // { dg-final { note-test lit {"a"} } }
34 
35   std::forward_list<std::string> flist{"b"};
36   std::forward_list<std::string>::iterator flit = flist.begin();
37   // { dg-final { note-test flit {"b"} } }
38 
39   std::map<int, int> m{ {1, 2} };
40   auto mit = m.begin();
41   // { dg-final { note-test mit {{first = 1, second = 2}} } }
42 
43   std::any a = m;
44   // { dg-final { regexp-test a {std::any containing std::(__debug::)?map with 1 element = {\[1\] = 2}} } }
45 
46   std::set<int> s{1, 2};
47   auto sit = s.begin();
48   // { dg-final { note-test sit {1} } }
49 
50   std::cout << "\n";
51   return 0;			// Mark SPOT
52 }
53 // { dg-final { gdb-test SPOT } }
54