1  /* PR middle-end/89230 - Bogus uninited usage warning with printf
       2     { dg-do compile }
       3     { dg-options "-O2 -Wall" } */
       4  
       5  struct S { int i, j; };
       6  
       7  /* attribute__ ((malloc)) */ struct S* f (void);
       8  
       9  int g (void)
      10  {
      11    struct S *p = f ();
      12    struct S *q; // { dg-bogus "" "uninitialized" { xfail *-*-* } }
      13  
      14    if (p->i || !(q = f ()) || p->j != q->i)
      15     {
      16       __builtin_printf ("%i", p->i);
      17  
      18       if (p->i)
      19         return 1;
      20  
      21       if (!q)        // { dg-bogus "\\\[-Wmaybe-uninitialized" "" { xfail *-*-* } }
      22         return 2;
      23     }
      24  
      25    return 0;
      26  }