OSDN Git Service

/cp
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / cpp0x / nsdmi1.C
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;
12   B() { }
13   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;
26   D() { }
27   D(T m):m(m) { }
28 };
29
30 int 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 }