blob: fb2a3acdfa9fdaee5d123c46dc5261a7ad845683 [file] [log] [blame]
/* Exercise nested function decomposition, gcc/tree-nested.c. */
int
main (void)
{
void test1 ()
{
int i, j, k;
int a[4][7][8];
__builtin_memset (a, 0, sizeof (a));
#pragma acc parallel
#pragma acc loop collapse(4 - 1)
for (i = 1; i <= 3; i++)
for (j = 4; j <= 6; j++)
for (k = 5; k <= 7; k++)
a[i][j][k] = i + j + k;
for (i = 1; i <= 3; i++)
for (j = 4; j <= 6; j++)
for (k = 5; k <= 7; k++)
if (a[i][j][k] != i + j + k)
__builtin_abort();
}
void test2 ()
{
int i, j, k;
int a[4][4][4];
__builtin_memset (a, 0, sizeof (a));
#pragma acc parallel
#pragma acc loop collapse(3)
for (i = 1; i <= 3; i++)
for (j = 1; j <= 3; j++)
for (k = 1; k <= 3; k++)
a[i][j][k] = 1;
for (i = 1; i <= 3; i++)
for (j = 1; j <= 3; j++)
for (k = 1; k <= 3; k++)
if (a[i][j][k] != 1)
__builtin_abort ();
}
test1 ();
test2 ();
return 0;
}