/* { dg-do compile } */ /* { dg-options "-O -Wuninitialized" } */ typedef struct { int a; int b; int c; int d; int e; int f; int g; int h; int i; int j; } X; X *XX(int); int G(); static void F() { X *x; int m, n; int xa, xb, xc, xd, xe, xf, xg, xh, xi, xj; m = G(); n = G(); if ( n & 1 ) xa = G(); if ( n & 2 ) xb = G(); if ( n & 4 ) xc = G(); if ( n & 32 ) xd = G(); if ( n & 16 ) xe = G(); if ( n & 64 ) xf = G(); if ( n & 256 ) xg = G(); if ( n & 512 ) xh = G(); if ( n & 1024 ) xi = G(); if ( n & 2048 ) xj = G(); if ( m >= 64 ) return; x = XX(m); if ( n & 1 ) x->a = xa; if ( n & 2 ) x->b = xb; if ( n & 4 ) x->c = xc; if ( n & 32 ) x->d = xd; if ( n & 16 ) x->e = xe; if ( n & 64 ) x->f = xf; if ( n & 256 ) x->g = xg; if ( n & 512 ) x->h = xh; if ( n & 1024 ) x->i = xi; if ( n & 2048 ) x->j = xj; /* { dg-bogus "uninitialized" } */ } void H() { F(); }