]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/g++.dg/cpp1z/aggr-base1.C
invoke.texi: Document -std=c++17 and -std=gnu++17 and document c++1z and gnu++1z...
[thirdparty/gcc.git] / gcc / testsuite / g++.dg / cpp1z / aggr-base1.C
1 // { dg-options -std=c++17 }
2 // { dg-do run }
3
4 struct base1 { int b1, b2 = 42; };
5 struct base2 {
6 base2() {
7 b3 = 42;
8 }
9 int b3;
10 };
11 struct derived : base1, base2 {
12 int d;
13 };
14
15 derived d1{{1, 2}, {}, 4};
16 derived d2{{}, {}, 4};
17
18 #define assert(X) do { if (!(X)) __builtin_abort(); } while(0)
19 int main()
20 {
21 assert (d1.b1 == 1 && d1.b2 == 2 && d1.b3 == 42 && d1.d == 4);
22 assert (d2.b1 == 0 && d2.b2 == 42 && d2.b3 == 42 && d2.d == 4);
23 }