(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr51990-2.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  /* { dg-require-effective-target alloca } */
       4  
       5  int y;
       6  extern int foo (int, ...) __attribute__((pure));
       7  
       8  int
       9  zzz (char *s1, char *s2, int len, int *q, int c)
      10  {
      11    int z = 5;
      12    unsigned int i, b;
      13    struct s { char a[z]; };
      14    struct s x;
      15    int y_tmp = 5;
      16  
      17    for (i = 0; i < len; i++)
      18      s1[i] = s2[i];
      19  
      20    b = z & 0x3;
      21  
      22    len += (b == 0 ? 0 : 1) + z;
      23  
      24    *q = len;
      25  
      26   if (c)
      27     y_tmp = foo (z, x, x) + 4;
      28  
      29   z = foo (z, x, x) + 4;
      30   y = y_tmp;
      31  
      32   return  z;
      33  }