(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
pr58831.c
       1  #include <assert.h>
       2  
       3  int a, *b, c, d, f, **i, p, q, *r;
       4  short o, j;
       5  
       6  static int __attribute__((noinline, noclone))
       7  fn1 (int *p1, int **p2)
       8  {
       9    int **e = &b;
      10    for (; p; p++)
      11      *p1 = 1;
      12    *e = *p2 = &d;
      13  
      14    assert (r);
      15  
      16    return c;
      17  }
      18  
      19  static int ** __attribute__((noinline, noclone))
      20  fn2 (void)
      21  {
      22    for (f = 0; f != 42; f++)
      23      {
      24        int *g[3] = {0, 0, 0};
      25        for (o = 0; o; o--)
      26          for (; a > 1;)
      27            {
      28              int **h[1] = { &g[2] };
      29            }
      30      }
      31    return &r;
      32  }
      33  
      34  int
      35  main (void)
      36  {
      37    i = fn2 ();
      38    fn1 (b, i);
      39    return 0;
      40  }