1 /* Verify the padding initialization for pattern initialization, we always emit
2 * a call to __builtin_clear_padding to initialize the paddings to zero. */
3 /* { dg-do compile { target { ilp32 || lp64 } } } */
4 /* { dg-options "-ftrivial-auto-var-init=pattern -fdump-tree-gimple" } */
5
6
7 struct test_small_hole {
8 int one;
9 char two;
10 /* 3 byte padding hole here. */
11 int three;
12 unsigned long long four __attribute__((aligned (8)));
13 };
14
15 extern void g (struct test_small_hole);
16 void foo(int a)
17 {
18 struct test_small_hole s;
19 g(s);
20 }
21
22 /* { dg-final { scan-tree-dump ".DEFERRED_INIT \\(24, 1, \&\"s\"" "gimple" } } */
23 /* { dg-final { scan-tree-dump "__builtin_clear_padding" "gimple" } } */