diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/cpp0x/nsdmi1.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/cpp0x/nsdmi1.C | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/nsdmi1.C b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/nsdmi1.C new file mode 100644 index 000000000..976b8f480 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/nsdmi1.C @@ -0,0 +1,52 @@ +// { dg-do run { target c++11 } } + +struct A +{ + int i = 42; +}; + +struct B +{ + int i = 42; + B() { } + B(int i): i(i) { } +}; + +template <class T, T t> +struct C +{ + T m = t; +}; + +template <class T, T t> +struct D +{ + T m = t; + D() { } + D(T m):m(m) { } +}; + +int main() +{ + A a1; + if (a1.i != 42) return 1; + A a2{}; + if (a2.i != 42) return 2; + A a3[1]; + if (a3[0].i != 42) return 3; + + B b1; + if (b1.i != 42) return 3; + B b2 (24); + if (b2.i != 24) return 4; + + C<int,3> c1; + if (c1.m != 3) return 5; + C<int,5> c2 {}; + if (c2.m != 5) return 6; + + D<int,3> d1; + if (d1.m != 3) return 7; + D<int,3> d2 (5) ; + if (d2.m != 5) return 8; +} |