(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr63804.c
       1  /* PR rtl-optimization/63804 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -g" } */
       4  
       5  struct A { int gen; } e;
       6  int a, d;
       7  long b;
       8  enum B { C };
       9  struct D
      10  {
      11    enum B type : 1;
      12    int nr : 1;
      13    struct { unsigned ud; } dw1;
      14  };
      15  enum B c;
      16  
      17  void
      18  fn1 (int p1)
      19  {
      20    b = p1 & a;
      21  }
      22  
      23  int fn2 ();
      24  void fn3 ();
      25  
      26  void
      27  fn4 (struct D p1, unsigned p2, int p3)
      28  {
      29    struct D f, g, h, j = p1, l, m = l;
      30    struct A i = e;
      31    if (i.gen)
      32      p2 = 0;
      33    j.type = c;
      34    g = j;
      35    p1 = g;
      36    fn3 ();
      37    int k = p2, v = p1.nr, p = v;
      38    m.dw1.ud = k;
      39    f = m;
      40    h = f;
      41    struct D n = h;
      42    fn3 (n);
      43    {
      44      d = fn2 ();
      45      int o = d;
      46      fn1 (o);
      47    }
      48    if (i.gen)
      49      fn3 (p1);
      50    b = p & a;
      51    fn3 (p3);
      52  }