(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr89111.c
       1  /* { dg-do run } */
       2  /* { dg-require-effective-target int32plus } */
       3  
       4  struct __attribute__((packed)) A {  int b : 24; } c[243], f;
       5  
       6  int d, e, g, j;
       7  
       8  __attribute__((noipa)) int
       9  foo (int x)
      10  {
      11    if (x != 0)
      12      __builtin_abort ();
      13    return 2;
      14  }
      15  
      16  int
      17  main ()
      18  { 
      19    struct A h = f;
      20    h.b = 0;
      21    while (e++ < 3)
      22      { 
      23        while (d++ < 3)
      24  	c[46].b ^= 9890739;
      25        f = c[46] = h;
      26      }
      27    while (g++ < 9)
      28      j = foo (c[g * 9 + j].b);
      29    return 0;
      30  }