/* Verify zero initialization for array, union, and structure type automatic variables. */ | |
/* { dg-do compile } */ | |
/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand" } */ | |
struct S | |
{ | |
int f1; | |
float f2; | |
char f3[20]; | |
}; | |
union U | |
{ | |
char u1[5]; | |
int u2; | |
float u3; | |
}; | |
double result; | |
double foo() | |
{ | |
int temp1[3]; | |
double temp2[3]; | |
struct S temp3; | |
union U temp4; | |
result = temp1[2] + temp2[1] + temp3.f2 + temp4.u3; | |
return result; | |
} | |
/* { dg-final { scan-rtl-dump-times "const_int 0" 8 "expand" } } */ |