1 // PR c++/57510
2 // { dg-do run { target c++11 } }
3 
4 #include <initializer_list>
5 
6 struct counter
7 {
8   static int n;
9 
countercounter10   counter() { ++n; }
countercounter11   counter(const counter&) { ++n; }
~countercounter12   ~counter() { --n; }
13 };
14 
15 int counter::n = 0;
16 
17 struct X
18 {
XX19     X () { if (counter::n > 1) throw 1; }
20 
21     counter c;
22 };
23 
main()24 int main ()
25 {
26   try
27   {
28     auto x = { X{}, X{} };
29   }
30   catch (...)
31   {
32     if ( counter::n != 0 )
33       throw;
34   }
35 }
36