(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
uninit-pr63660.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O -Wuninitialized" } */
       3  
       4  typedef struct
       5  {
       6   int a;
       7   int b;
       8   int c;
       9   int d;
      10   int e;
      11   int f;
      12   int g;
      13   int h;
      14   int i;
      15   int j;
      16  } X;
      17  
      18  X *XX(int);
      19  
      20  int G();
      21  
      22  static void F()
      23  {
      24   X *x;
      25   int m, n;
      26   int xa, xb, xc, xd, xe, xf, xg, xh, xi, xj;
      27  
      28   m = G();
      29   n = G();
      30   if ( n & 1 ) xa = G();
      31   if ( n & 2 ) xb = G();
      32   if ( n & 4 ) xc = G();
      33   if ( n & 32 ) xd = G();
      34   if ( n & 16 ) xe = G();
      35   if ( n & 64 ) xf = G();
      36   if ( n & 256 ) xg = G();
      37   if ( n & 512 ) xh = G();
      38   if ( n & 1024 ) xi = G();
      39   if ( n & 2048 ) xj = G();
      40  
      41   if ( m >= 64 ) return;
      42   x = XX(m);
      43   if ( n & 1 ) x->a = xa;
      44   if ( n & 2 ) x->b = xb;
      45   if ( n & 4 ) x->c = xc;
      46   if ( n & 32 ) x->d = xd;
      47   if ( n & 16 ) x->e = xe;
      48   if ( n & 64 ) x->f = xf;
      49   if ( n & 256 ) x->g = xg;
      50   if ( n & 512 ) x->h = xh;
      51   if ( n & 1024 ) x->i = xi;
      52   if ( n & 2048 ) x->j = xj; /* { dg-bogus "uninitialized" } */
      53  }
      54  
      55  void H()
      56  {
      57   F();
      58  }