(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.oacc-c-c++-common/
collapse-1.c
       1  /* { dg-do run } */
       2  
       3  #include <string.h>
       4  #include <stdlib.h>
       5  
       6  int
       7  main (void)
       8  {
       9    int i, j, k, l = 0;
      10    int a[3][3][3];
      11  
      12    memset (a, '\0', sizeof (a));
      13    #pragma acc parallel
      14    #pragma acc loop collapse(4 - 1)
      15      for (i = 0; i < 2; i++)
      16        for (j = 0; j < 2; j++)
      17  	for (k = 0; k < 2; k++)
      18  	  a[i][j][k] = i + j * 4 + k * 16;
      19    #pragma acc parallel
      20      {
      21        #pragma acc loop collapse(2) reduction(|:l)
      22  	for (i = 0; i < 2; i++)
      23  	  for (j = 0; j < 2; j++)
      24  	    for (k = 0; k < 2; k++)
      25  	      if (a[i][j][k] != i + j * 4 + k * 16)
      26  		l = 1;
      27      }
      28    if (l)
      29      abort ();
      30    return 0;
      31  }