(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
pr82363.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O" } */
       3  
       4  #if __SIZEOF_INT__ == 2
       5  #define int __INT32_TYPE__
       6  #endif
       7  
       8  struct A
       9  {
      10    int b;
      11    int c;
      12    int d;
      13  };
      14  
      15  struct E
      16  {
      17    int f;
      18    int g:18;
      19    struct A h;
      20  };
      21  
      22  struct I
      23  {
      24    int b;
      25    int j;
      26    struct E k;
      27  };
      28  
      29  int l, *m = &l;
      30  
      31  struct A n;
      32  struct I o;
      33  
      34  void __attribute__ ((noipa))
      35  test_l (void)
      36  {
      37    if (l != 1)
      38      __builtin_abort ();
      39  }
      40  
      41  #undef int
      42  
      43  int main ()
      44  {
      45    while (1)
      46      {
      47        struct I q = { 0, 0, {0, 0, {1, 1, 1}}}, p = q, r = p, *s = &q;
      48        if (p.k.h.c)
      49          o = p;
      50        *m = r.k.h.d;
      51        n = (*s).k.h;
      52        break;
      53      }
      54    test_l ();
      55    return 0;
      56  }