31 lines
394 B
C
31 lines
394 B
C
// Test for initlist lifetime
|
|
// { dg-options "-std=c++0x" }
|
|
// { dg-do run }
|
|
|
|
#include <initializer_list>
|
|
|
|
int c;
|
|
|
|
struct A
|
|
{
|
|
A(int,int) { ++c; }
|
|
~A() { --c; }
|
|
};
|
|
|
|
void f (std::initializer_list<A> l) { }
|
|
|
|
int main()
|
|
{
|
|
f({ {1,2}, {3,4} });
|
|
if (c != 0)
|
|
return 1;
|
|
|
|
{
|
|
std::initializer_list<A> l { {1,2}, {3,4} };
|
|
if (c != 2)
|
|
return 2;
|
|
}
|
|
if (c != 0)
|
|
return 3;
|
|
}
|