| /* Verify the padding initialization for pattern initialization, we always emit |
| * a call to __builtin_clear_padding to initialize the paddings to zero. */ |
| /* { dg-do compile { target { ilp32 || lp64 } } } */ |
| /* { dg-options "-ftrivial-auto-var-init=pattern -fdump-tree-gimple" } */ |
| |
| |
| struct test_small_hole { |
| int one; |
| char two; |
| /* 3 byte padding hole here. */ |
| int three; |
| unsigned long long four __attribute__((aligned (8))); |
| }; |
| |
| extern void g (struct test_small_hole); |
| void foo(int a) |
| { |
| struct test_small_hole s; |
| g(s); |
| } |
| |
| /* { dg-final { scan-tree-dump ".DEFERRED_INIT \\(24, 1, \&\"s\"" "gimple" } } */ |
| /* { dg-final { scan-tree-dump "__builtin_clear_padding" "gimple" } } */ |