1 /* Verify pattern initialization for integer and pointer type automatic variables. */
2 /* { dg-do compile } */
3 /* { dg-options "-O -ftrivial-auto-var-init=pattern -fdump-rtl-expand" } */
4
5 #ifndef __cplusplus
6 # define bool _Bool
7 #endif
8
9 enum E {
10 N1 = 0,
11 N2,
12 N3
13 };
14
15 extern void bar (char, short, int, enum E, long, long long, int *, bool);
16
17 void foo()
18 {
19 char temp1;
20 short temp2;
21 int temp3;
22 enum E temp4;
23 long temp5;
24 long long temp6;
25 int *temp7;
26 bool temp8;
27
28 bar (temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8);
29 return;
30 }
31
32 /* { dg-final { scan-rtl-dump-times "0xfe\\\]" 1 "expand" } } */
33 /* { dg-final { scan-rtl-dump-times "0xfffffffffffffefe" 1 "expand" } } */
34 /* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 2 "expand" } } */
35 /* { dg-final { scan-rtl-dump-times "0xfefefefefefefefe" 3 "expand" } } */