(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
20221006-1.c
       1  #include <stdlib.h>
       2  
       3  int
       4  main (int argc, char** argv)
       5  {
       6    const int len = argc == 2 ? atoi(argv[1]) : 4;
       7  
       8    int count;
       9    int data[64];
      10    int M1[len][len];
      11    int M2[len][len];
      12  
      13    for (int i = 0; i < len; i++)
      14      for (int j = 0 ; j < len ; j++)
      15        M1[i][j] = M2[i][j] = i*len + j;
      16  
      17    M2[1][0] = M2[0][1];
      18  
      19    /* This writes successively 0 and 1 into data[M2[0][1]].  */
      20    for (int i = 0; i < len - 1; i++)
      21      for (int j = 0 ; j < len ; j++)
      22        if (M1[i+1][j] > M1[i][j]) 
      23          data[M2[i][j]] = i;
      24  
      25    if (data [M2[0][1]] != 1)
      26      abort ();
      27  
      28    return 0;
      29  }