1 // { dg-do run } 2 // { dg-options -std=c++0x } 3 4 struct A 5 { 6 int i = 42; 7 }; 8 9 struct B 10 { 11 int i = 42; BB12 B() { } BB13 B(int i): i(i) { } 14 }; 15 16 template <class T, T t> 17 struct C 18 { 19 T m = t; 20 }; 21 22 template <class T, T t> 23 struct D 24 { 25 T m = t; DD26 D() { } DD27 D(T m):m(m) { } 28 }; 29 main()30int main() 31 { 32 A a1; 33 if (a1.i != 42) return 1; 34 A a2{}; 35 if (a2.i != 42) return 2; 36 A a3[1]; 37 if (a3[0].i != 42) return 3; 38 39 B b1; 40 if (b1.i != 42) return 3; 41 B b2 (24); 42 if (b2.i != 24) return 4; 43 44 C<int,3> c1; 45 if (c1.m != 3) return 5; 46 C<int,5> c2 {}; 47 if (c2.m != 5) return 6; 48 49 D<int,3> d1; 50 if (d1.m != 3) return 7; 51 D<int,3> d2 (5) ; 52 if (d2.m != 5) return 8; 53 } 54