Daily bump.
[gcc.git] / gcc / testsuite / g++.dg / torture / builtin-clear-padding-3.C
blobfe81e095e082b0b556860466ce64c45b5aff0f43
1 /* PR libstdc++/88101 */
2 /* { dg-do run } */
4 struct D { int a; int : 24; int b : 8; };
5 struct E {};
6 struct F { char c, d, e; };
7 struct G : public D, E, F { int f; } g1, g2;
9 __attribute__((noipa)) void
10 foo (G *g)
12   g->a = -1; g->b = -1; g->c = -1; g->d = -1; g->e = -1; g->f = -1;
15 int
16 main ()
18   __builtin_memset (&g2, -1, sizeof (g2));
19   foo (&g1);
20   foo (&g2);
21   __builtin_clear_padding (&g2);
22   if (__builtin_memcmp (&g1, &g2, sizeof (g1)))
23     __builtin_abort ();
24   return 0;