c++: robustify testcase [PR109752]
[official-gcc.git] / gcc / testsuite / g++.dg / cpp1y / constexpr-79681-2.C
blobedca161f8d58925e821a4d99a01aaf8b52d4abab
1 // PR c++/79681
2 // { dg-do compile { target c++14 } }
3 // { dg-options "-O2" }
5 struct A
7   char i : 4;
8   char k : 1;
9   char l : 3;
11 struct B
13   char j : 4;
15 struct C
17   long long u;
18   A a[1];
19   B b[1];
22 constexpr bool
23 foo ()
25   C c = { 0, { { 5, 0, 2 } }, { { 6 } } };
26   C d = { 0, { { 6, 0, 1 } }, { { 5 } } };
27   return c.a[0].i == d.a[0].i && c.b[0].j == d.b[0].j;
30 constexpr bool
31 bar ()
33   C c = { 0, { { 5, 0, 2 } }, { { 6 } } };
34   C d = { 0, { { 6, 0, 1 } }, { { 5 } } };
35   return c.a[0].i == d.a[0].i && c.a[0].l == d.a[0].l;
38 static_assert (foo () == false, "");
39 static_assert (bar () == false, "");