(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
ipa/
pr55260.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fno-inline -fipa-cp-clone"  } */
       3  
       4  typedef struct {
       5    int *ptr;
       6    int len;
       7  } string;
       8  typedef struct {
       9    string nantstr;
      10    int *nant;
      11  } malv;
      12  typedef struct {
      13    int *nor;
      14  } list_heads;
      15  int b;
      16  list_heads *fn1(string, int *, unsigned);
      17  void fn2(malv *p1, list_heads *p2, unsigned p3) {
      18    string a = p1->nantstr;
      19    fn1(a, p1->nant, p3);
      20  }
      21  
      22  void fn3(unsigned p1) { fn2(0, 0, p1); }
      23  
      24  list_heads *fn1(string p1, int *p2, unsigned p3) {
      25    while (1) {
      26      if (p3)
      27        fn3(1);
      28      if (b)
      29        return 0;
      30      fn3(1);
      31    }
      32  }
      33  
      34  void fn5() {
      35    list_heads c;
      36    c.nor = 0;
      37    fn2(0, &c, 1);
      38  }