/* PR middle-end/89230 - Bogus uninited usage warning with printf { dg-do compile } { dg-options "-O2 -Wall" } */ struct S { int i, j; }; /* attribute__ ((malloc)) */ struct S* f (void); int g (void) { struct S *p = f (); struct S *q; // { dg-bogus "" "uninitialized" { xfail *-*-* } } if (p->i || !(q = f ()) || p->j != q->i) { __builtin_printf ("%i", p->i); if (p->i) return 1; if (!q) // { dg-bogus "\\\[-Wmaybe-uninitialized" "" { xfail *-*-* } } return 2; } return 0; }