Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/c-c++-common/cilk-plus/AN/array_test_ND.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line source
/* { dg-do run } */ /* { dg-options "-fcilkplus" } */ #include <stdlib.h> int main2(char **argv); int main(void) { int x = 0; const char *array[] = {"a.out", "10", "15"}; x = main2 ((char **)array); return x; } int main2(char **argv) { int array[10][15], ii = 0, jj = 0,x = 0, z= 1 , y = 10 ; int array_2[10][15]; int argc = 3; __asm volatile ("" : "+r" (argc)); for (ii = 0; ii < 10; ii++) { for (jj = 0; jj< 15; jj++) { array[ii][jj] = ii+jj; array_2[ii][jj] = 0; } } array_2[0:5:2][0:5:3] = array[0:5:2][0:5:3] + 1 + 5 + array[0][5] + x; for (ii = 0; ii < 10; ii += 2) { for (jj = 0; jj < 15; jj += 3) { if (array_2[ii][jj] != array[ii][jj] + 1 + 5 + array[0][5] + x) return 2; } } for (ii = 0; ii < 10; ii++) { for (jj = 0; jj< 15; jj++) { array[ii][jj] = ii+jj; array_2[ii][jj] = 0; } } x = atoi(argv[1]); y = atoi(argv[2]); array_2[0:x:1][0:y:1] = array[0:x:1][0:y:1] + x + y + array[0:x:1][0:y:1]; for (ii = 0; ii < x; ii++) { for (jj = 0; jj < y; jj++) { if (array_2[ii][jj] != array[ii][jj] + x + y + array[ii][jj]) return 3; } } for (ii = 0; ii < 10; ii++) { for (jj = 0; jj< 15; jj++) { array[ii][jj] = ii+jj; array_2[ii][jj] = 0; } } x = atoi(argv[1]); y = atoi(argv[2]); z = (20- atoi (argv[1]))/atoi(argv[1]); /* (20-10)/10 evaluates to 1 all the time :-). */ array_2[0:x:z][0:y:z] = array[0:x:z][0:y:z] + array[0:x:z][0:y:z] + y + z; for (ii = 0; ii < x; ii += z) { for (jj = 0; jj < y; jj += z) { if (array_2[ii][jj] != array[ii][jj] + array[ii][jj] + y + z) return 4; } } for (ii = 0; ii < 10; ii++) { for (jj = 0; jj< 15; jj++) { array[ii][jj] = ii+jj; array_2[ii][jj] = 0; } } x = argc-3; y = 20-atoi(argv[1]); z = (20- atoi (argv[1]))/atoi(argv[1]); /* (20-10)/10 evaluates to 1 all the time :-). */ array_2[(argc-3):(20-atoi(argv[1])):(20-atoi(argv[1]))/atoi(argv[1])][(argc-3):(30-atoi(argv[2])): ((30-atoi(argv[2]))/atoi(argv[2]))] = array[(argc-3):20-atoi(argv[1]):(20-atoi(argv[1]))/atoi(argv[1])][(argc-3):(30-atoi(argv[2])): (30-atoi(argv[2]))/atoi(argv[2])] + array[(argc-3):20-atoi(argv[1]):(20-atoi(argv[1]))/atoi(argv[1])][(argc-3):(30-atoi(argv[2])): (30-atoi(argv[2]))/atoi(argv[2])] * array[(argc-3):20-atoi(argv[1]):(20-atoi(argv[1]))/atoi(argv[1])][(argc-3):(30-atoi(argv[2])): (30-atoi(argv[2]))/atoi(argv[2])]; for (ii = 0; ii < 10; ii++) { for (jj = 0; jj < 15; jj++) { if (array_2[ii][jj] != array[ii][jj] + array[ii][jj] * array[ii][jj]) return 5; } } return 0; }