35 lines
477 B
C
35 lines
477 B
C
/* { dg-do compile } */
|
|
/* { dg-options "-O2 -Wall" } */
|
|
|
|
typedef struct
|
|
{
|
|
int p1;
|
|
int p2;
|
|
int p3;
|
|
} P;
|
|
struct S
|
|
{
|
|
int field;
|
|
};
|
|
extern int v2;
|
|
extern void foo (struct S *map);
|
|
static struct S var;
|
|
const P *pv;
|
|
int ps;
|
|
void
|
|
f (void)
|
|
{
|
|
if (pv != 0)
|
|
for (const P *ph = pv; ph < &pv[ps]; ++ph)
|
|
switch (ph->p1)
|
|
{
|
|
case 1:
|
|
v2 = ph->p2;
|
|
break;
|
|
case 2:
|
|
var.field = ph->p3;
|
|
break;
|
|
}
|
|
if (var.field != 0) /* { dg-bogus "uninitialized" } */
|
|
foo (&var);
|
|
}
|