(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr57381.c
       1  /* { dg-do compile } */
       2  /* { dg-require-effective-target int32plus } */
       3  
       4  struct S0 { int  f0, f1, f2; };
       5  
       6  struct S1 {
       7      int  f0;
       8      volatile struct S0 f2;
       9  };
      10  
      11  static struct S1 s = {0x47BED265,{0x06D4EB3E,5,0U}};
      12  
      13  int foo(struct S0 p)
      14  {
      15    for (s.f2.f2 = 0; (s.f2.f2 <= 12); s.f2.f2++)
      16      {
      17        volatile int *l_61[5][2][2] = {{{&s.f2.f0,&s.f2.f0},{&s.f2.f0,&s.f2.f0}},{{&s.f2.f0,&s.f2.f0},{&s.f2.f0,&s.f2.f0}},{{&s.f2.f0,(void*)0},{&s.f2.f0,&s.f2.f0}},{{&s.f2.f0,&s.f2.f0},{&s.f2.f0,&s.f2.f0}},{{&s.f2.f0,&s.f2.f0},{(void*)0,&s.f2.f0}}};
      18  
      19        volatile int **l_68 = &l_61[0][0][1];
      20        volatile int *l_76 = &s.f2.f0;
      21        (*l_68) = l_61[0][0][0];
      22        if ((*l_76 = (p.f2 % 5))) ;
      23      }
      24    return p.f0;
      25  }